MCPcopy Create free account
hub / github.com/node-schedule/node-schedule / gracefulShutdown

Function gracefulShutdown

lib/schedule.js:76–105  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

74}
75
76function gracefulShutdown() {
77 const jobs = Object.keys(scheduledJobs).map(key => scheduledJobs[key]);
78 jobs.forEach(function (job) {
79 job.cancel();
80 });
81
82 let running = false;
83 for (let i = 0; i < jobs.length; i++) {
84 if (jobs[i].running > 0) {
85 running = true;
86 break;
87 }
88 }
89
90 return new Promise(function (resolve) {
91 if (running) {
92 setInterval(function () {
93 for (let i = 0; i < jobs.length; i++) {
94 if (jobs[i].running > 0) {
95 return;
96 }
97 }
98
99 resolve();
100 }, 500);
101 } else {
102 resolve();
103 }
104 });
105}
106
107/* Public API */
108module.exports = {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…