Commit Graph

224 Commits

Author SHA1 Message Date
Naz
85b51524c9 Added loggign and more graceful error handling
no issue

- This is a quick implementation change to prevent from queue stalling and never becoming idle in case there's an error thrown from within the job function/module
- More robust error handling should be designed soon!
2020-11-10 17:11:24 +13:00
Naz
7dac72d6bf Added test coverage for basic job registration 2020-11-10 16:35:04 +13:00
Naz
c85ec6aaa5 Added support for job execution from module path
no issue

- Jobs should not always be functions, one of the standard practices is having a job defined in a module as a self contained executable function
- First parameter of `addJob` function now also handles path to modules which it imports and executes
2020-11-10 16:32:47 +13:00
Naz
70b42e3a75 Switched cron validation library to cron-validate
no issue

- Previous library was relyting on try/catch block to check if the expression is valid. Flow control through error catching is not considered a good practice and can effect performance (https://riptutorial.com/javascript/example/5297/avoid-try-catch-in-performance-critical-functions)
2020-11-10 13:33:01 +13:00
Naz
ae4f35ddd8 Changed scheduleJob method signature to take when parameter first
no issue

- Accepting the schedule or a data when scheduled job should be run would follow a signature used in other established frameworks: (1) https://github.com/mperham/sidekiq/wiki/Ent-Periodic-Jobs#definition
- Another reason to put scheduling parameter first is this would allow leaving an optional "data" parameter as last
2020-11-10 13:15:10 +13:00
Naz
9abbe60e10 Published new versions
- @tryghost/adapter-manager@0.2.0
 - @tryghost/bootstrap-socket@0.2.3
 - @tryghost/constants@0.1.2
 - @tryghost/errors@0.2.5
 - @tryghost/image-transform@1.0.5
 - @tryghost/job-manager@0.1.2
 - @tryghost/moleculer-service-from-class@0.2.7
 - @tryghost/mw-session-from-token@0.1.9
 - @tryghost/pretty-cli@1.2.11
 - @tryghost/promise@0.1.2
 - @tryghost/release-utils@0.6.8
 - @tryghost/security@0.2.1
 - @tryghost/session-service@0.1.10
 - @tryghost/vhost-middleware@1.0.10
 - @tryghost/zip@1.1.5
2020-11-05 17:38:41 +13:00
Naz
d1bbd79ece Updated JSDoc 2020-11-05 17:36:51 +13:00
Naz
1b1794063f Added experimental job scheduling feature
no issue

- This method should be used with caution and should serve as a playground for upcoming new feature of scheduled jobs support
2020-11-05 17:36:29 +13:00
Naz
3da365999d Added cron expression validation
no issue

- CRON format is the most common one used for job scheduling and is well known to most developers
- This will become one of supported formats for job scheduling
2020-11-05 17:07:27 +13:00
Naz
5506c64ae4 Added logging 2020-11-05 16:42:23 +13:00
Naz
48597b0056 Added JSDoc description 2020-11-05 16:41:16 +13:00
Naz
8c24e093d3 Added basic test checking module API 2020-11-05 16:39:51 +13:00
Renovate Bot
3802972c71 Update dependency mocha to v8.2.1 2020-11-02 23:07:13 +00:00
Renovate Bot
b7f78dade1 Update dependency fastq to v1.9.0 2020-10-28 11:06:06 +00:00
Renovate Bot
afd2b07d9f Update dependency sinon to v9.2.1 2020-10-28 09:04:46 +00:00
Renovate Bot
22c32fee0d Update dependency mocha to v8.2.0 2020-10-16 21:24:13 +00:00
Renovate Bot
38af1013b7 Update dependency sinon to v9.2.0 2020-10-06 19:10:59 +00:00
Renovate Bot
a7e0e73f16 Update dependency sinon to v9.1.0 2020-09-29 22:07:11 +00:00
Nazar Gargol
1f73b85e5e Published new versions
- @tryghost/adapter-manager@0.1.11
 - @tryghost/bootstrap-socket@0.2.2
 - @tryghost/constants@0.1.1
 - @tryghost/errors@0.2.4
 - @tryghost/image-transform@1.0.4
 - @tryghost/job-manager@0.1.1
 - @tryghost/moleculer-service-from-class@0.2.6
 - @tryghost/mw-session-from-token@0.1.8
 - @tryghost/pretty-cli@1.2.10
 - @tryghost/promise@0.1.1
 - @tryghost/release-utils@0.6.7
 - @tryghost/security@0.2.0
 - @tryghost/session-service@0.1.9
 - @tryghost/vhost-middleware@1.0.9
 - @tryghost/zip@1.1.4
2020-09-22 15:36:49 +12:00
Renovate Bot
0633b9a7fe Update dependency mocha to v8.1.3 2020-08-28 21:05:06 +00:00
Renovate Bot
155daf42c8 Update dependency mocha to v8.1.2 2020-08-25 20:08:54 +00:00
Renovate Bot
0a6c935153 Update dependency sinon to v9.0.3 2020-08-11 21:07:08 +00:00
Hannah Wolfe
7501b19557 Published new versions
- @tryghost/job-manager@0.1.0
2020-08-11 21:22:33 +01:00
Hannah Wolfe
2c1417da88 Added new job manager package
- Minimal working version of a job manager
- Uses fastq for handling the queue
- Exposes 2 methods: addJob and shutdown
2020-08-11 21:17:52 +01:00