3 ms·
Hey cool project, congrats! How does Rocketry saves execution state? Like, if it crashes and goes back up again, does it know which tasks were executed and whi
by pid-1 4y ago
Hey cool project, congrats!
How does Rocketry saves execution state? Like, if it crashes and goes back up again, does it know which tasks were executed and which ones were not?
- Miksus 4y agoThanks a lot, nice to hear! The system knows which task ran and when by extedning logging (from standard library). There is a logger called "rocketry.task" that should have a handler which can be read as well: redbird.logging.RepoHandler. An in-memory logger is created if nothing is specified. This handler abstracts simple read and write to a data store which can be an SQL database, in-memory Python list, MongoDB or CSV file. Seems I forgot to implement a method mentioned in the docs but here's an example to specify a task log repo: https://github.com/Miksus/rocketry/issues/108#issuecomment-1254641694 https://github.com/Miksus/rocketry/issues/108#issuecomment-1... The latest success time, starting time etc. are also stored in the tasks themselves and there is some optimization (which can be turned off) to reduce the reads in some cases. In the start-up these attributes are set in each task (if logs found).