Async Execution (project scheduling)
Pull Request Description
:warning: This is currently blocked waiting for the corresponding backend functionality.
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1392
- New modal to schedule project executions
- New tab in asset right menu that lists project executions
- Choose repeat interval (hourly, daily, weekly, monthly)
- Choose parallel mode to control behavior when multiple executions are scheduled at the same time (ignore new execution if old one is not finished, cancel old execution, run both executions at the same time)
- Select and display maximum execution time
- "Use Current Version" button
- Paused ("disabled") schedules
Important Notes
None
Screenshots
"New Schedule" dialog
List of execution schedules:
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
- [x] ~~The documentation has been updated, if necessary.~~
- [x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
- [x] All code follows the Scala, Java, TypeScript, and Rust style guides. In case you are using a language not listed above, follow the Rust style guide.
- [ ] Unit tests have been written where possible.
marking as draft as it is still blocked by backend endpoints
@indiv0 note that if (when?) you do end up testing this PR that this PR mocks out the endpoints, the actual impls need to be uncommented (and the mocks removed) to test with an actual backend
๐งช Storybook is successfully deployed!
๐ Dashboard:
- ๐ Review changes: https://www.chromatic.com/build?appId=673738989fc3e8430364197e&number=1141
- ๐จโ๐จ Preview storybook: https://673738989fc3e8430364197e-cblvqofcau.chromatic.com/
Eventhough it's blocked by the backend, nothing's stopping us to merge it behind a flag
Lets simplify things and inspire with google calendar scheduler (without custom):
Description:
- Header: Schedule task
- First row: Start date with date, time, timezone selectors
- 2nd row: repetition selector: Does not repeat (default), Hourly, Daily, 30th in Month, Last Sunday in Month (last 2 based on selected date)
- Hourly: select first / last hour (range)
- Daily: Select which days of the week should run
- 30th in Month, Last Sunday in Month: Choose which months,
- First occurrence input display date time but I can only accurately edit date. It does not allow my to adjust hour or minutes.
Disabled (click to enable)click resulted in 404 POST tohttps://xw0g8j3tsb.execute-api.eu-west-1.amazonaws.com/executions/undefined2.1 Same with delete 2.2 Same with sync- When are the executions fetched? I saw the request only once per project.. I removed them from db and still see them in GUI
- Thats not much visible.. lets have a number of scheduled executions per day here
- New schedule in executions tab opens a dialog while the same button in calendar opens bellow... We should have this consistent and always open in dialog
- Also when I try to submit new schedule from the calendar tab I ends with Enso being reloaded
When are the executions fetched? I saw the request only once per project.. I removed them from db and still see them in GUI
They're cached for a couple of minutes, as any query. guess we need refetch interval here aswell?