MCPcopy Index your code
hub / github.com/parse-community/parse-server / jobStatusHandler

Function jobStatusHandler

src/StatusHandler.js:76–129  ·  view source on GitHub ↗
(config)

Source from the content-addressed store, hash-verified

74}
75
76export function jobStatusHandler(config) {
77 let jobStatus;
78 const objectId = newObjectId(config.objectIdSize);
79 const database = config.database;
80 const handler = statusHandler(JOB_STATUS_COLLECTION, database);
81 const setRunning = function (jobName) {
82 const now = new Date();
83 jobStatus = {
84 objectId,
85 jobName,
86 status: 'running',
87 source: 'api',
88 createdAt: now,
89 // lockdown!
90 ACL: {},
91 };
92
93 return handler.create(jobStatus);
94 };
95
96 const setMessage = function (message) {
97 if (!message || typeof message !== 'string') {
98 return Promise.resolve();
99 }
100 return handler.update({ objectId }, { message });
101 };
102
103 const setSucceeded = function (message) {
104 return setFinalStatus('succeeded', message);
105 };
106
107 const setFailed = function (message) {
108 return setFinalStatus('failed', message);
109 };
110
111 const setFinalStatus = function (status, message = undefined) {
112 const finishedAt = new Date();
113 const update = { status, finishedAt };
114 if (message && typeof message === 'string') {
115 update.message = message;
116 }
117 if (Utils.isNativeError(message) && typeof message.message === 'string') {
118 update.message = message.message;
119 }
120 return handler.update({ objectId }, update);
121 };
122
123 return Object.freeze({
124 setRunning,
125 setSucceeded,
126 setMessage,
127 setFailed,
128 });
129}
130
131export function pushStatusHandler(config, existingObjectId) {
132 let pushStatus;

Callers 1

handleCloudJobMethod · 0.90

Calls 2

newObjectIdFunction · 0.90
statusHandlerFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…