Fix: Ensure cleared nextRunAt
when saving to db
#1477
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using a mongodb client configured with the option
ignoreUndefined
set totrue
, trying to clear the propertynextRunAt
from a job scheduled usingschedule
method by setting it toundefined
does not take effect as it is ignored.After computing
nextRunAt
property before running the job (run.ts
), the change in value is not persisted, making it always behindlastRunAt
after the first execution. This makes the program run the processor very quickly and indefinitely, exhausting the CPU's capacity.Setting the property to
null
at the beginning of the computation makes sure the value is properly cleared.The following code demonstrates the issue. It creates a new mongo client, feeds it to Agenda, defines a new processor and finally tries to run it once.
Code
Program's output