Commit Graph

521 Commits

Author SHA1 Message Date
Renovate Bot
70dff36657 Update dependency sinon to v9.2.3 2021-01-06 15:05:05 +00:00
Naz
f0ef03476d Published new versions
- @tryghost/adapter-manager@0.2.6
 - @tryghost/job-manager@0.7.0
2021-01-06 16:07:24 +13:00
Naz
5d97e6586b Changed test grouping to distinct types of jobs 2021-01-06 13:46:47 +13:00
Naz
3bca4f63b8 Refactored job manager interface to consist of single addJob method
refs #122

- In future changes there's a plan to add "inline" scheduled jobs, which would conflict current method naming.
- The amount of parameters in the methods was more than 3, so it made sense to transform them into an options object
- Scheduling still doesn't work for "inline" jobs. This should be solved as a part of upstream library (https://github.com/breejs/bree/issues/68)
2021-01-06 13:45:23 +13:00
Renovate Bot
ca71762fee Update dependency p-wait-for to v3.2.0 2021-01-01 17:06:03 +00:00
Renovate Bot
6eab4de6c4 Update dependency cron-validate to v1.4.2 2020-12-25 17:25:51 +00:00
Renovate Bot
14894a90fc Update dependency @types/sinon to v9.0.10 2020-12-23 19:11:34 +00:00
Renovate Bot
753bd121d1 Update dependency fastq to v1.10.0 2020-12-21 01:07:04 +00:00
Naz
2528f7978a Published new versions
- @tryghost/adapter-manager@0.2.5
 - @tryghost/bootstrap-socket@0.2.4
 - @tryghost/constants@0.1.3
 - @tryghost/errors@0.2.6
 - @tryghost/image-transform@1.0.6
 - @tryghost/job-manager@0.6.0
 - @tryghost/moleculer-service-from-class@0.2.9
 - @tryghost/mw-session-from-token@0.1.13
 - @tryghost/pretty-cli@1.2.12
 - @tryghost/promise@0.1.3
 - @tryghost/release-utils@0.6.9
 - @tryghost/security@0.2.3
 - @tryghost/session-service@0.1.14
 - @tryghost/zip@1.1.7
2020-12-14 17:36:18 +13:00
Naz
1bee6d4fde Fixed flaky job-manager test 2020-12-14 17:16:55 +13:00
Naz
c13d8a2fa6 Added errorHandler option to customize job error logic
closes https://github.com/TryGhost/Ghost-Utils/issues/118

- Custom error handling is needed to be able to override default bree
error handling logic.
- bree bump to 4.1.0 also fixed logging errors (object Object fix in
tests)
- The handler function receives two parameters. First contains an error
that has been thrown by the job. Second, job and worker metadata
2020-12-14 16:09:36 +13:00
Renovate Bot
0aff1a305e Update dependency typescript to v4.1.3 2020-12-11 22:10:12 +00:00
Renovate Bot
c3e3935c6d Update dependency sinon to v9.2.2 2020-12-11 12:43:04 +00:00
Thibaut Patel
bd3afeb112 Made the package-json module ready to be exported (#12451)
no issue
2020-12-10 11:37:43 +01:00
Naz
516311aa43 Published new versions
- @tryghost/adapter-manager@0.2.4
 - @tryghost/job-manager@0.5.0
 - @tryghost/mw-session-from-token@0.1.12
 - @tryghost/session-service@0.1.13
2020-12-09 20:29:53 +13:00
Naz
13e8336de9 Updated docs around inline/offloaded jobs
no issue

- Provided more context about which type of job does what and introduced naming to be able to distinguish them
- The naming is still to be reviewed by peers
2020-12-09 20:04:09 +13:00
Naz
2462e9642e Added documentation for immediate jobs 2020-12-09 20:02:36 +13:00
Naz
7457393b5b Added jsdoc to bree job builder 2020-12-09 19:34:04 +13:00
Naz
7ece94f411 Added support for immediate offloaded jobs
closes #117

- Having immediately executable offloaded jobs is necessary to be able to run usecases like: send batched emails now, or any other job that does not need to be scheduled
- Changed "simple" job timeout to make tests run faster
2020-12-09 19:11:17 +13:00
Renovate Bot
9a6ed2f180 Update dependency @types/mocha to v8.2.0 2020-12-08 15:22:46 +00:00
Naz
12eb035bdc Published new versions
- @tryghost/job-manager@0.4.0
2020-12-08 16:44:24 +13:00
Naz
320e7feb0e Added ability to remove scheduled jobs
closes #119

- A future use-case which this feature caters for is allowing to migrate "post scheduler" to use job manager instead of managing scheduling itself
- removeJob method will be needed to allow "rescheduling" of the post
2020-12-08 16:43:18 +13:00
Naz
86b9f0d2ce Renamed when parameter
no issue

- Semantically "at" fits better as it matches the name of similarly purposed UNIX utility
2020-12-03 16:22:56 +13:00
Naz
30c9112bb5 Updated example of scheduled on off job using date 2020-12-03 15:53:10 +13:00
Naz
eb0eb2d744 Added support for one off scheduled jobs
closes #115

- When scheduling one off job for future execution you can now pass in Date as a first parameter to `scheduleJob` method
2020-12-02 21:26:15 +13:00
Naz
ed29a29704 Published new versions
- @tryghost/job-manager@0.3.4
2020-12-02 00:22:20 +13:00
Naz
35f8933070 Fixed cron definition not accepting seconds parameter 2020-12-02 00:19:01 +13:00
Naz
404209ba30 Published new versions
- @tryghost/job-manager@0.3.3
2020-11-30 15:36:54 +13:00
Naz
715789406d Improved job registration logging 2020-11-30 15:35:57 +13:00
Naz
3892e57194 Added docs on how each method executes the job 2020-11-30 15:30:45 +13:00
Naz
238ff4abdb Clarified usecases of 'done' and 'cancelled' job events
no issue

- Added docs around which events are suited best for job termination/completeion
2020-11-30 13:48:07 +13:00
Naz
6389df346c Published new versions
- @tryghost/adapter-manager@0.2.3
 - @tryghost/job-manager@0.3.2
2020-11-26 11:08:10 +13:00
Daniel Lockyer
6d42c391c5 Added JSDoc comments into package-json lib 2020-11-25 11:29:04 +00:00
Daniel Lockyer
7f09052ba1 Reverted "Refactored remaining function in package-json lib to use async-await"
- this reverts commit 2be01e7cbd.
- reverting until I can figure out why the tests are broken
2020-11-25 10:57:55 +00:00
Daniel Lockyer
2be01e7cbd Refactored remaining function in package-json lib to use async-await
- this helps simplify the code and gets rid of Promise chaining
- apparently I can't easily use an async function within filter, so I've
  left it for now
2020-11-25 10:44:15 +00:00
Daniel Lockyer
0971506948 Refactored package-json lib to use more async-await
- this helps get rid of all the promise chaining and indentation,
  resulting in cleaner code
2020-11-25 09:19:35 +00:00
Daniel Lockyer
9d29686f6a Refactored package-json lib into a class
- this helps bring all the code together so we can extract it in the
  future
- turning it into a class also lets us easily inject the i18n instance
  and store it locally
2020-11-25 09:19:35 +00:00
Naz
73b60854cd Added documentation about bthread polyfill
refs https://github.com/TryGhost/Ghost/issues/12402
2020-11-25 15:21:02 +13:00
Naz
a2fdc69a23 Added docs about job lifecycle
refs https://github.com/orgs/TryGhost/projects/36#card-49938015
2020-11-25 15:03:54 +13:00
Naz
d1df62f84c Added description about graceful job termination 2020-11-25 13:56:01 +13:00
Naz
d94830071d Added description for job termination best practice 2020-11-25 13:55:34 +13:00
Naz
c3ab2be076 Added examples of job and job manager initialization 2020-11-25 13:44:04 +13:00
Renovate Bot
31149f3ade Update dependency @types/sinon to v9.0.9 2020-11-24 08:45:40 +00:00
Naz
bc93a166e9 Updated readme with instructions about jobs
refs https://github.com/TryGhost/Ghost/issues/12402

- Describes different types of jobs that could be executed depending on the nature of the jobs.
- Lays down ground rules on how to design scheduled jobs
2020-11-24 20:15:02 +13:00
Naz
1340306f4c Updated job manager module description documentation 2020-11-24 19:55:51 +13:00
Naz
58bc922c0e Fixed tests for cron expression validation
refs c0cecd71fe
2020-11-24 16:44:54 +13:00
Naz
67e664208a Added documentation about job scheduling
refs https://github.com/TryGhost/Ghost/issues/12402

- Adds examples on how to queue regular "immediate" and reccuring "scheduled" jobs
2020-11-24 16:40:35 +13:00
Naz
c0cecd71fe 🐛 Fixed cron expression to read seconds parameter
no issue

- When providing a crontab schedule expression it should always contain 6 elements first one of them being a "seconds" schedule description . For example: '0/5 * * * * *' - meaning to run every 5 seconds
2020-11-24 16:37:46 +13:00
Naz
a8cb12250b Published new versions
- @tryghost/adapter-manager@0.2.2
 - @tryghost/job-manager@0.3.1
 - @tryghost/moleculer-service-from-class@0.2.8
 - @tryghost/mw-session-from-token@0.1.11
 - @tryghost/session-service@0.1.12
2020-11-23 16:14:42 +13:00
Naz
a7570680fb Updated type definitions files that changed with bump of typescript version
refs 295887dd24
2020-11-23 16:13:51 +13:00