-
Notifications
You must be signed in to change notification settings - Fork 2k
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
jobspec: time based task execution #22201
Conversation
this is the CE side of an Enterprise-only feature. a job trying to use this in CE will fail to validate. to enable daily-scheduled execution entirely client-side, a job may now contain: task "name" { schedule { cron { start = "0 12 * * * *" # may not include "," or "/" end = "0 4" # partial cron, with only {minute} {hour} timezone = "EST" # anything in your tzdata } } ... and everything about the allocation will be scheduled as usual, but if outside the schedule, the taskrunner will block, waiting on the schedule start, before proceeding with the task driver execution, etc. this includes a taksrunner hook, which watches for the end of the schedule, at which point it will kill the task. then, restarts-allowing, a new task will start and again block waiting for start, and so on. this also includes all the plumbing required to pipe API calls through from command->api->agent->server->client, so that tasks can be force-run, force-paused, or resume the schedule on demand. Co-Authored-By: Michael Schurter <[email protected]> Co-Authored-By: Seth Hoenig <[email protected]>
c6346c7
to
8cc336e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No blockers!
helpText := ` | ||
Usage: nomad alloc pause [options] <allocation> <task> | ||
|
||
Set the pause state of an allocation. This command is used to suspend the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to myself that we should make sure this help matches the docs (once I write them!)
Don't forget a changelog entry |
Co-authored-by: Michael Schurter <[email protected]>
* Fragment and init * 4-state 2-button alert box * Small cleanup
Ember Test Audit comparison
|
I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions. |
this is the CE side of an Enterprise-only feature. a job trying to use this in CE will fail to validate.
to enable daily-scheduled execution entirely client-side, a job may now contain:
and everything about the allocation will be placed as usual, but if outside the specified schedule, the taskrunner will block on the client, waiting on the schedule start, before proceeding with the task driver execution, etc.
this includes a taksrunner hook, which watches for the end of the schedule, at which point it will kill the task.
then, restarts-allowing, a new task will start and again block waiting for start, and so on.
this also includes all the plumbing required to pipe API calls through from command->api->agent->server->client, so that tasks can be force-run, force-paused, or resume the schedule on demand.