Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "once" job runner #68

Open
mushkevych opened this issue Jul 3, 2021 · 0 comments
Open

Add "once" job runner #68

mushkevych opened this issue Jul 3, 2021 · 0 comments
Assignees

Comments

@mushkevych
Copy link
Owner

mushkevych commented Jul 3, 2021

This Ticket explores support for one-time jobs, such as version upgrader.
There are likely several use-cases:

global_lock=False job

  • Such job does not halt other jobs from running
  • As such, it can be implemented as freerun job, where trigger_frequency=once (meaning it will be triggered once, 1 minute after the Synergy Scheduler is up and running)

consideration

  • The concept of "once-per-release" jobs (a subset of "one-time job") implies that backward-incompatible schema changes will be performed before any new jobs are run
    However, this contradicts with allowing such job to run as freerun

global_lock=True job

  • Such job would halt all other jobs from running and only after it has passed
  • As such, it needs to be implemented as managed job and blocking any new job trigerring

consideration

  • managed jobs would not prevent previously triggered/running jobs from completion on chimera schema (UOW dispatched in queues would either needs to be cleared with potential of loosing state)

cli-only job

  • Such job would be triggered manually and can re-use Supervisor fabric

consideration

  • This approach will allow for updating schema while Synergy Scheduler and managed jobs are shut down.
  • No UI makes it inconvenient for operator to check logs or status of the one-time job
@mushkevych mushkevych self-assigned this Jul 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant