bullmq 5.40.1 → 5.40.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/classes/job-scheduler.js +4 -1
- package/dist/cjs/classes/job-scheduler.js.map +1 -1
- package/dist/cjs/commands/addDelayedJob-6.lua +2 -2
- package/dist/cjs/commands/addJobScheduler-2.lua +5 -41
- package/dist/cjs/commands/addParentJob-4.lua +2 -2
- package/dist/cjs/commands/addPrioritizedJob-8.lua +2 -2
- package/dist/cjs/commands/addStandardJob-8.lua +2 -2
- package/dist/cjs/commands/includes/deduplicateJob.lua +1 -1
- package/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +1 -1
- package/dist/cjs/commands/includes/storeJobScheduler.lua +41 -0
- package/dist/cjs/scripts/addDelayedJob-6.js +4 -4
- package/dist/cjs/scripts/addJobScheduler-2.js +37 -32
- package/dist/cjs/scripts/addJobScheduler-2.js.map +1 -1
- package/dist/cjs/scripts/addParentJob-4.js +4 -4
- package/dist/cjs/scripts/addPrioritizedJob-8.js +4 -4
- package/dist/cjs/scripts/addStandardJob-8.js +4 -4
- package/dist/cjs/scripts/changeDelay-4.js +1 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js +1 -1
- package/dist/cjs/scripts/moveToActive-11.js +1 -1
- package/dist/cjs/scripts/moveToDelayed-8.js +1 -1
- package/dist/cjs/scripts/moveToFinished-14.js +1 -1
- package/dist/cjs/scripts/pause-7.js +1 -1
- package/dist/cjs/scripts/updateJobScheduler-7.js +1 -1
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/classes/job-scheduler.d.ts +1 -1
- package/dist/esm/classes/job-scheduler.js +4 -1
- package/dist/esm/classes/job-scheduler.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +1 -1
- package/dist/esm/commands/addDelayedJob-6.lua +2 -2
- package/dist/esm/commands/addJobScheduler-2.lua +5 -41
- package/dist/esm/commands/addParentJob-4.lua +2 -2
- package/dist/esm/commands/addPrioritizedJob-8.lua +2 -2
- package/dist/esm/commands/addStandardJob-8.lua +2 -2
- package/dist/esm/commands/includes/deduplicateJob.lua +1 -1
- package/dist/esm/commands/includes/getNextDelayedTimestamp.lua +1 -1
- package/dist/esm/commands/includes/storeJobScheduler.lua +41 -0
- package/dist/esm/scripts/addDelayedJob-6.js +4 -4
- package/dist/esm/scripts/addJobScheduler-2.js +37 -32
- package/dist/esm/scripts/addJobScheduler-2.js.map +1 -1
- package/dist/esm/scripts/addParentJob-4.js +4 -4
- package/dist/esm/scripts/addPrioritizedJob-8.js +4 -4
- package/dist/esm/scripts/addStandardJob-8.js +4 -4
- package/dist/esm/scripts/changeDelay-4.js +1 -1
- package/dist/esm/scripts/moveStalledJobsToWait-9.js +1 -1
- package/dist/esm/scripts/moveToActive-11.js +1 -1
- package/dist/esm/scripts/moveToDelayed-8.js +1 -1
- package/dist/esm/scripts/moveToFinished-14.js +1 -1
- package/dist/esm/scripts/pause-7.js +1 -1
- package/dist/esm/scripts/updateJobScheduler-7.js +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
@@ -152,7 +152,10 @@ class JobScheduler extends queue_base_1.QueueBase {
|
|
152
152
|
}
|
153
153
|
: {})), { next });
|
154
154
|
}
|
155
|
-
|
155
|
+
// TODO: remove this check and keyToData as it is here only to support legacy code
|
156
|
+
if (key.includes(':')) {
|
157
|
+
return this.keyToData(key, next);
|
158
|
+
}
|
156
159
|
}
|
157
160
|
keyToData(key, next) {
|
158
161
|
const data = key.split(':');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"job-scheduler.js","sourceRoot":"","sources":["../../../src/classes/job-scheduler.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"job-scheduler.js","sourceRoot":"","sources":["../../../src/classes/job-scheduler.ts"],"names":[],"mappings":";;;;AAAA,6CAA8C;AAa9C,+BAA4B;AAC5B,6CAAyC;AAEzC,oCAAyD;AACzD,oCAAqC;AAErC,MAAa,YAAa,SAAQ,sBAAS;IAGzC,YACE,IAAY,EACZ,IAAuB,EACvB,UAAmC;QAEnC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAE9B,IAAI,CAAC,cAAc;YACjB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,6BAAqB,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,cAAsB,EACtB,UAAqD,EACrD,OAAU,EACV,OAAU,EACV,IAAiC,EACjC,EAAE,QAAQ,EAAE,UAAU,EAA8C;QAEpE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;QAE9C,IAAI,OAAO,IAAI,KAAK,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;SACH;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE;YACtB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;SACH;QAED,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,SAAS,EAAE;YAClD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;SACH;QAED,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE;YAC9C,OAAO,CAAC,IAAI,CACV,0GAA0G,CAC3G,CAAC;SACH;QAED,mEAAmE;QACnE,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IACE,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW;YACvC,cAAc,GAAG,UAAU,CAAC,KAAK,EACjC;YACA,OAAO;SACR;QAED,yDAAyD;QACzD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,CAAC,OAAO,OAAO,KAAK,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,OAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;YACzE,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACxC,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1C,uDAAuD;QACvD,MAAM,EAAE,SAAS,EAAE,WAAW,KAA4B,UAAU,EAAjC,kBAAkB,kBAAK,UAAU,EAA9D,4BAAiD,CAAa,CAAC;QACrE,IAAI,WAAW,GAAG,GAAG,CAAC;QACtB,IAAI,SAAS,EAAE;YACb,WAAW,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5C,WAAW,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;SACrD;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC;QAE5B,IAAI,KAAK,EAAE;YACT,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;YACzD,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;YAClC,IAAI,UAAU,IAAI,MAAM,EAAE;gBACxB,UAAU,GAAG,QAAQ,CAAC;aACvB;iBAAM;gBACL,UAAU,GAAG,QAAQ,CAAC;gBACtB,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;gBAEnC,uEAAuE;gBACvE,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aAC3C;SACF;aAAM,IAAI,OAAO,EAAE;YAClB,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAEjE,IAAI,UAAU,GAAG,GAAG,EAAE;gBACpB,UAAU,GAAG,GAAG,CAAC;aAClB;SACF;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,UAAU,EAAE;YACd,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,eAAe,CAChB,KAAqB,EAC/B,cAAc,EACd,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAC7D,SAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EACpB;oBACE,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;oBAC1D,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,OAAO;oBACP,KAAK;iBACN,CACF,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAC7B,KAAqB,EAC/B,cAAc,EACd,UAAU,CACX,CAAC;aACH;YAED,OAAO,IAAI,CAAC,KAAK,CACf,gBAAQ,CAAC,QAAQ,EACjB,KAAK,EACL,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,EACzB,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE;;gBACrC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAE/B,IAAI,sBAAsB,EAAE;oBAC1B,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,WAAW,CAAC;oBAChD,MAAM,iBAAiB,GACrB,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ;wBACxB,CAAC,CAAC,WAAW,IAAI,sBAAsB,CAAC,CAAC;oBAE3C,IAAI,iBAAiB,IAAI,WAAW,EAAE;wBACpC,SAAS,GAAG;4BACV,QAAQ,EAAE,iBAAiB;4BAC3B,WAAW;yBACZ,CAAC;qBACH;iBACF;gBAED,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAClB,KAAqB,EAC/B,OAAO,EACP,UAAU,EACV,SAAS,EACT,cAAc,kCAET,IAAI,KACP,MAAM,kCAAO,kBAAkB,KAAE,MAAM,EAAE,SAAS,KAClD,SAAS,KAEX,OAAO,EACP,cAAc,EACd,UAAU,CACX,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,2DAA2D;gBAE/F,gCAAgC;gBAChC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,aAAa,EAAE;oBACjB,MAAM,IAAI,KAAK,CACb,iCAAiC,cAAc,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CACxE,CAAC;iBACH;gBAED,kCAAkC;gBAClC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAW,CAAC;gBAEjC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;oBAClB,CAAC,2BAAmB,CAAC,cAAc,CAAC,EAAE,cAAc;oBACpD,CAAC,2BAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE;iBACpC,CAAC,CAAC;gBAEH,OAAO,GAAG,CAAC;YACb,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAEO,aAAa,CACnB,MAAmB,EACnB,IAAO,EACP,UAAkB,EAClB,MAAc,EACd,cAAsB,EACtB,IAAiB,EACjB,IAAO,EACP,YAAoB;IACpB,0DAA0D;IAC1D,UAAmB;QAEnB,EAAE;QACF,6CAA6C;QAC7C,EAAE;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC;YACvC,cAAc;YACd,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,GAAG,CAAC;QAExC,MAAM,UAAU,mCACX,IAAI,KACP,KAAK,EACL,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAC5B,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,cAAc,GAC7B,CAAC;QAEF,UAAU,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,KAAE,KAAK,EAAE,YAAY,GAAE,CAAC;QAE5D,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAU,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEnB,IAAI,UAAU,EAAE;YACd,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;SAC9C;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,MAAmB,EACnB,GAAW,EACX,IAAa;QAEb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,sBAAsB,CAAI,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,GAAW,EACX,OAAY,EACZ,IAAa;QAEb,IAAI,OAAO,EAAE;YACX,qCACE,GAAG,EACH,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAC1C,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,EAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,IACzB,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI;gBAC9B,CAAC,CAAC;oBACE,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;iBAClE;gBACH,CAAC,CAAC,EAAE,CAAC,KACP,IAAI,IACJ;SACH;QAED,kFAAkF;QAClF,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAClC;IACH,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,IAAa;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAEhD,OAAO;YACL,GAAG;YACH,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACb,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YAClC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI;YACnB,OAAO;YACP,IAAI;SACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,EAAU;QAEV,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,sBAAsB,CAChC,EAAE,EACF,UAAU,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EACzC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,OAAgB,EAChB,OAAgB;QAEhB,MAAM,QAAQ,GAAgC,EAAE,CAAC;QACjD,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACrC;QACD,IAAI,OAAO,EAAE;YACX,QAAQ,CAAC,IAAI,GAAG,SAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC3C;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,KAAK,GAAG,CAAC,EACT,GAAG,GAAG,CAAC,CAAC,EACR,GAAG,GAAG,KAAK;QAEX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAE1C,MAAM,MAAM,GAAG,GAAG;YAChB,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC;YACjE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACzC,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,gBAAgB,CAAI,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;SACH;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAEjC,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAEO,qBAAqB,CAAC,EAC5B,UAAU,EACV,cAAc,GAIf;QACC,OAAO,UAAU,cAAc,IAAI,UAAU,EAAE,CAAC;IAClD,CAAC;CACF;AA9VD,oCA8VC;AAEM,MAAM,qBAAqB,GAAG,CACnC,MAAc,EACd,IAAmB,EACC,EAAE;IACtB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAA,6BAAe,EAAC,OAAO,kCACnC,IAAI,KACP,WAAW,IACX,CAAC;IAEH,IAAI;QACF,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;SAC7B;aAAM;YACL,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;SAClC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,eAAe;KAChB;AACH,CAAC,CAAC;AArBW,QAAA,qBAAqB,yBAqBhC"}
|
@@ -88,8 +88,8 @@ else
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
local deduplicationJobId = deduplicateJob(
|
92
|
-
|
91
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId, deduplicationKey,
|
92
|
+
eventsKey, maxEvents)
|
93
93
|
if deduplicationJobId then
|
94
94
|
return deduplicationJobId
|
95
95
|
end
|
@@ -30,53 +30,16 @@ local prefixKey = ARGV[6]
|
|
30
30
|
|
31
31
|
-- Includes
|
32
32
|
--- @include "includes/removeJob"
|
33
|
-
|
34
|
-
local function storeRepeatableJob(schedulerId, repeatKey, nextMillis, rawOpts, templateData, templateOpts)
|
35
|
-
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
36
|
-
local opts = cmsgpack.unpack(rawOpts)
|
37
|
-
|
38
|
-
local optionalValues = {}
|
39
|
-
if opts['tz'] then
|
40
|
-
table.insert(optionalValues, "tz")
|
41
|
-
table.insert(optionalValues, opts['tz'])
|
42
|
-
end
|
43
|
-
|
44
|
-
if opts['pattern'] then
|
45
|
-
table.insert(optionalValues, "pattern")
|
46
|
-
table.insert(optionalValues, opts['pattern'])
|
47
|
-
end
|
48
|
-
|
49
|
-
if opts['endDate'] then
|
50
|
-
table.insert(optionalValues, "endDate")
|
51
|
-
table.insert(optionalValues, opts['endDate'])
|
52
|
-
end
|
53
|
-
|
54
|
-
if opts['every'] then
|
55
|
-
table.insert(optionalValues, "every")
|
56
|
-
table.insert(optionalValues, opts['every'])
|
57
|
-
end
|
58
|
-
|
59
|
-
local jsonTemplateOpts = cjson.encode(templateOpts)
|
60
|
-
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
61
|
-
table.insert(optionalValues, "opts")
|
62
|
-
table.insert(optionalValues, jsonTemplateOpts)
|
63
|
-
end
|
64
|
-
|
65
|
-
if templateData and templateData ~= '{}' then
|
66
|
-
table.insert(optionalValues, "data")
|
67
|
-
table.insert(optionalValues, templateData)
|
68
|
-
end
|
69
|
-
|
70
|
-
rcall("HMSET", repeatKey .. ":" .. schedulerId, "name", opts['name'], unpack(optionalValues))
|
71
|
-
end
|
33
|
+
--- @include "includes/storeJobScheduler"
|
72
34
|
|
73
35
|
-- If we are overriding a repeatable job we must delete the delayed job for
|
74
36
|
-- the next iteration.
|
37
|
+
local schedulerKey = repeatKey .. ":" .. jobSchedulerId
|
75
38
|
local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
|
76
39
|
if prevMillis ~= false then
|
77
40
|
local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
|
78
41
|
local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
|
79
|
-
local nextDelayedJobKey =
|
42
|
+
local nextDelayedJobKey = schedulerKey .. ":" .. nextMillis
|
80
43
|
|
81
44
|
if rcall("ZSCORE", delayedKey, delayedJobId) ~= false and
|
82
45
|
(rcall("EXISTS", nextDelayedJobKey) ~= 1 or delayedJobId == nextDelayedJobId) then
|
@@ -85,4 +48,5 @@ if prevMillis ~= false then
|
|
85
48
|
end
|
86
49
|
end
|
87
50
|
|
88
|
-
|
51
|
+
local schedulerOpts = cmsgpack.unpack(ARGV[2])
|
52
|
+
return storeJobScheduler(jobSchedulerId, schedulerKey, repeatKey, nextMillis, schedulerOpts, ARGV[4], templateOpts)
|
@@ -81,8 +81,8 @@ else
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
local deduplicationJobId = deduplicateJob(
|
85
|
-
|
84
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId,
|
85
|
+
deduplicationKey, eventsKey, maxEvents)
|
86
86
|
if deduplicationJobId then
|
87
87
|
return deduplicationJobId
|
88
88
|
end
|
@@ -90,8 +90,8 @@ else
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
-
local deduplicationJobId = deduplicateJob(
|
94
|
-
|
93
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId,
|
94
|
+
deduplicationKey, eventsKey, maxEvents)
|
95
95
|
if deduplicationJobId then
|
96
96
|
return deduplicationJobId
|
97
97
|
end
|
@@ -94,8 +94,8 @@ else
|
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
97
|
-
local deduplicationJobId = deduplicateJob(
|
98
|
-
|
97
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId,
|
98
|
+
deduplicationKey, eventsKey, maxEvents)
|
99
99
|
if deduplicationJobId then
|
100
100
|
return deduplicationJobId
|
101
101
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Function to debounce a job.
|
3
3
|
]]
|
4
4
|
|
5
|
-
local function deduplicateJob(
|
5
|
+
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
6
6
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
7
7
|
if deduplicationId then
|
8
8
|
local ttl = deduplicationOpts['ttl']
|
@@ -5,7 +5,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
5
5
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
6
6
|
if #result then
|
7
7
|
local nextTimestamp = tonumber(result[2])
|
8
|
-
if nextTimestamp ~= nil then
|
8
|
+
if nextTimestamp ~= nil then
|
9
9
|
return nextTimestamp / 0x1000
|
10
10
|
end
|
11
11
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
--[[
|
2
|
+
Function to store a job scheduler
|
3
|
+
]]
|
4
|
+
local function storeJobScheduler(schedulerId, schedulerKey, repeatKey, nextMillis, opts,
|
5
|
+
templateData, templateOpts)
|
6
|
+
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
7
|
+
|
8
|
+
local optionalValues = {}
|
9
|
+
if opts['tz'] then
|
10
|
+
table.insert(optionalValues, "tz")
|
11
|
+
table.insert(optionalValues, opts['tz'])
|
12
|
+
end
|
13
|
+
|
14
|
+
if opts['pattern'] then
|
15
|
+
table.insert(optionalValues, "pattern")
|
16
|
+
table.insert(optionalValues, opts['pattern'])
|
17
|
+
end
|
18
|
+
|
19
|
+
if opts['endDate'] then
|
20
|
+
table.insert(optionalValues, "endDate")
|
21
|
+
table.insert(optionalValues, opts['endDate'])
|
22
|
+
end
|
23
|
+
|
24
|
+
if opts['every'] then
|
25
|
+
table.insert(optionalValues, "every")
|
26
|
+
table.insert(optionalValues, opts['every'])
|
27
|
+
end
|
28
|
+
|
29
|
+
local jsonTemplateOpts = cjson.encode(templateOpts)
|
30
|
+
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
31
|
+
table.insert(optionalValues, "opts")
|
32
|
+
table.insert(optionalValues, jsonTemplateOpts)
|
33
|
+
end
|
34
|
+
|
35
|
+
if templateData and templateData ~= '{}' then
|
36
|
+
table.insert(optionalValues, "data")
|
37
|
+
table.insert(optionalValues, templateData)
|
38
|
+
end
|
39
|
+
|
40
|
+
rcall("HMSET", schedulerKey, "name", opts['name'], unpack(optionalValues))
|
41
|
+
end
|
@@ -66,7 +66,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
66
66
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
67
67
|
if #result then
|
68
68
|
local nextTimestamp = tonumber(result[2])
|
69
|
-
if nextTimestamp ~= nil then
|
69
|
+
if nextTimestamp ~= nil then
|
70
70
|
return nextTimestamp / 0x1000
|
71
71
|
end
|
72
72
|
end
|
@@ -148,7 +148,7 @@ end
|
|
148
148
|
--[[
|
149
149
|
Function to debounce a job.
|
150
150
|
]]
|
151
|
-
local function deduplicateJob(
|
151
|
+
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
152
152
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
153
153
|
if deduplicationId then
|
154
154
|
local ttl = deduplicationOpts['ttl']
|
@@ -362,8 +362,8 @@ else
|
|
362
362
|
maxEvents, timestamp)
|
363
363
|
end
|
364
364
|
end
|
365
|
-
local deduplicationJobId = deduplicateJob(
|
366
|
-
|
365
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId, deduplicationKey,
|
366
|
+
eventsKey, maxEvents)
|
367
367
|
if deduplicationJobId then
|
368
368
|
return deduplicationJobId
|
369
369
|
end
|
@@ -180,51 +180,56 @@ local function removeJob(jobId, hard, baseKey, shouldRemoveDeduplicationKey)
|
|
180
180
|
end
|
181
181
|
removeJobKeys(jobKey)
|
182
182
|
end
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
183
|
+
--[[
|
184
|
+
Function to store a job scheduler
|
185
|
+
]]
|
186
|
+
local function storeJobScheduler(schedulerId, schedulerKey, repeatKey, nextMillis, opts,
|
187
|
+
templateData, templateOpts)
|
188
|
+
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
189
|
+
local optionalValues = {}
|
190
|
+
if opts['tz'] then
|
191
|
+
table.insert(optionalValues, "tz")
|
192
|
+
table.insert(optionalValues, opts['tz'])
|
193
|
+
end
|
194
|
+
if opts['pattern'] then
|
195
|
+
table.insert(optionalValues, "pattern")
|
196
|
+
table.insert(optionalValues, opts['pattern'])
|
197
|
+
end
|
198
|
+
if opts['endDate'] then
|
199
|
+
table.insert(optionalValues, "endDate")
|
200
|
+
table.insert(optionalValues, opts['endDate'])
|
201
|
+
end
|
202
|
+
if opts['every'] then
|
203
|
+
table.insert(optionalValues, "every")
|
204
|
+
table.insert(optionalValues, opts['every'])
|
205
|
+
end
|
206
|
+
local jsonTemplateOpts = cjson.encode(templateOpts)
|
207
|
+
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
208
|
+
table.insert(optionalValues, "opts")
|
209
|
+
table.insert(optionalValues, jsonTemplateOpts)
|
210
|
+
end
|
211
|
+
if templateData and templateData ~= '{}' then
|
212
|
+
table.insert(optionalValues, "data")
|
213
|
+
table.insert(optionalValues, templateData)
|
214
|
+
end
|
215
|
+
rcall("HMSET", schedulerKey, "name", opts['name'], unpack(optionalValues))
|
213
216
|
end
|
214
217
|
-- If we are overriding a repeatable job we must delete the delayed job for
|
215
218
|
-- the next iteration.
|
219
|
+
local schedulerKey = repeatKey .. ":" .. jobSchedulerId
|
216
220
|
local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
|
217
221
|
if prevMillis ~= false then
|
218
222
|
local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
|
219
223
|
local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
|
220
|
-
local nextDelayedJobKey =
|
224
|
+
local nextDelayedJobKey = schedulerKey .. ":" .. nextMillis
|
221
225
|
if rcall("ZSCORE", delayedKey, delayedJobId) ~= false and
|
222
226
|
(rcall("EXISTS", nextDelayedJobKey) ~= 1 or delayedJobId == nextDelayedJobId) then
|
223
227
|
removeJob(delayedJobId, true, prefixKey, true --[[remove debounce key]] )
|
224
228
|
rcall("ZREM", delayedKey, delayedJobId)
|
225
229
|
end
|
226
230
|
end
|
227
|
-
|
231
|
+
local schedulerOpts = cmsgpack.unpack(ARGV[2])
|
232
|
+
return storeJobScheduler(jobSchedulerId, schedulerKey, repeatKey, nextMillis, schedulerOpts, ARGV[4], templateOpts)
|
228
233
|
`;
|
229
234
|
exports.addJobScheduler = {
|
230
235
|
name: 'addJobScheduler',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addJobScheduler-2.js","sourceRoot":"","sources":["../../../src/scripts/addJobScheduler-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addJobScheduler-2.js","sourceRoot":"","sources":["../../../src/scripts/addJobScheduler-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqOf,CAAC;AACW,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,iBAAiB;IACvB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -47,7 +47,7 @@ local parentData
|
|
47
47
|
--[[
|
48
48
|
Function to debounce a job.
|
49
49
|
]]
|
50
|
-
local function deduplicateJob(
|
50
|
+
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
51
51
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
52
52
|
if deduplicationId then
|
53
53
|
local ttl = deduplicationOpts['ttl']
|
@@ -108,7 +108,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
108
108
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
109
109
|
if #result then
|
110
110
|
local nextTimestamp = tonumber(result[2])
|
111
|
-
if nextTimestamp ~= nil then
|
111
|
+
if nextTimestamp ~= nil then
|
112
112
|
return nextTimestamp / 0x1000
|
113
113
|
end
|
114
114
|
end
|
@@ -314,8 +314,8 @@ else
|
|
314
314
|
maxEvents, timestamp)
|
315
315
|
end
|
316
316
|
end
|
317
|
-
local deduplicationJobId = deduplicateJob(
|
318
|
-
|
317
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId,
|
318
|
+
deduplicationKey, eventsKey, maxEvents)
|
319
319
|
if deduplicationJobId then
|
320
320
|
return deduplicationJobId
|
321
321
|
end
|
@@ -73,7 +73,7 @@ end
|
|
73
73
|
--[[
|
74
74
|
Function to debounce a job.
|
75
75
|
]]
|
76
|
-
local function deduplicateJob(
|
76
|
+
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
77
77
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
78
78
|
if deduplicationId then
|
79
79
|
local ttl = deduplicationOpts['ttl']
|
@@ -164,7 +164,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
164
164
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
165
165
|
if #result then
|
166
166
|
local nextTimestamp = tonumber(result[2])
|
167
|
-
if nextTimestamp ~= nil then
|
167
|
+
if nextTimestamp ~= nil then
|
168
168
|
return nextTimestamp / 0x1000
|
169
169
|
end
|
170
170
|
end
|
@@ -321,8 +321,8 @@ else
|
|
321
321
|
maxEvents, timestamp)
|
322
322
|
end
|
323
323
|
end
|
324
|
-
local deduplicationJobId = deduplicateJob(
|
325
|
-
|
324
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId,
|
325
|
+
deduplicationKey, eventsKey, maxEvents)
|
326
326
|
if deduplicationJobId then
|
327
327
|
return deduplicationJobId
|
328
328
|
end
|
@@ -73,7 +73,7 @@ end
|
|
73
73
|
--[[
|
74
74
|
Function to debounce a job.
|
75
75
|
]]
|
76
|
-
local function deduplicateJob(
|
76
|
+
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
77
77
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
78
78
|
if deduplicationId then
|
79
79
|
local ttl = deduplicationOpts['ttl']
|
@@ -154,7 +154,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
154
154
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
155
155
|
if #result then
|
156
156
|
local nextTimestamp = tonumber(result[2])
|
157
|
-
if nextTimestamp ~= nil then
|
157
|
+
if nextTimestamp ~= nil then
|
158
158
|
return nextTimestamp / 0x1000
|
159
159
|
end
|
160
160
|
end
|
@@ -325,8 +325,8 @@ else
|
|
325
325
|
maxEvents, timestamp)
|
326
326
|
end
|
327
327
|
end
|
328
|
-
local deduplicationJobId = deduplicateJob(
|
329
|
-
|
328
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId,
|
329
|
+
deduplicationKey, eventsKey, maxEvents)
|
330
330
|
if deduplicationJobId then
|
331
331
|
return deduplicationJobId
|
332
332
|
end
|
@@ -32,7 +32,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
32
32
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
33
33
|
if #result then
|
34
34
|
local nextTimestamp = tonumber(result[2])
|
35
|
-
if nextTimestamp ~= nil then
|
35
|
+
if nextTimestamp ~= nil then
|
36
36
|
return nextTimestamp / 0x1000
|
37
37
|
end
|
38
38
|
end
|
@@ -93,7 +93,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
93
93
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
94
94
|
if #result then
|
95
95
|
local nextTimestamp = tonumber(result[2])
|
96
|
-
if nextTimestamp ~= nil then
|
96
|
+
if nextTimestamp ~= nil then
|
97
97
|
return nextTimestamp / 0x1000
|
98
98
|
end
|
99
99
|
end
|
@@ -45,7 +45,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
45
45
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
46
46
|
if #result then
|
47
47
|
local nextTimestamp = tonumber(result[2])
|
48
|
-
if nextTimestamp ~= nil then
|
48
|
+
if nextTimestamp ~= nil then
|
49
49
|
return nextTimestamp / 0x1000
|
50
50
|
end
|
51
51
|
end
|
@@ -39,7 +39,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
39
39
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
40
40
|
if #result then
|
41
41
|
local nextTimestamp = tonumber(result[2])
|
42
|
-
if nextTimestamp ~= nil then
|
42
|
+
if nextTimestamp ~= nil then
|
43
43
|
return nextTimestamp / 0x1000
|
44
44
|
end
|
45
45
|
end
|
@@ -112,7 +112,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
112
112
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
113
113
|
if #result then
|
114
114
|
local nextTimestamp = tonumber(result[2])
|
115
|
-
if nextTimestamp ~= nil then
|
115
|
+
if nextTimestamp ~= nil then
|
116
116
|
return nextTimestamp / 0x1000
|
117
117
|
end
|
118
118
|
end
|
@@ -28,7 +28,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
28
28
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
29
29
|
if #result then
|
30
30
|
local nextTimestamp = tonumber(result[2])
|
31
|
-
if nextTimestamp ~= nil then
|
31
|
+
if nextTimestamp ~= nil then
|
32
32
|
return nextTimestamp / 0x1000
|
33
33
|
end
|
34
34
|
end
|
@@ -48,7 +48,7 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
48
48
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
49
49
|
if #result then
|
50
50
|
local nextTimestamp = tonumber(result[2])
|
51
|
-
if nextTimestamp ~= nil then
|
51
|
+
if nextTimestamp ~= nil then
|
52
52
|
return nextTimestamp / 0x1000
|
53
53
|
end
|
54
54
|
end
|