Scheduling notebooksΒΆ
This explores using the command line to work with notebooks. The same also works with the integrated Jupyter notebook
Jupyter Notebooks are great tools for exploratory and ad-hoc work. But how do you run a notebook on a schedule? Say you have a notebook that produces a nice report, and it should run every Friday morning.
With omega|ml, scheduling a notebook to run in the cloud is straight forward:
# make it run every Friday morning
$ om jobs schedule mynotebook "Fridays, at 06:00"
We can verify the next times this notebook will be run:
$ om jobs schedule mynotebook show --next 10
Currently mynotebook is scheduled at Every minute, only on Friday
Given this existing interval, next 10 times would be:
2020-09-18 13:35:00
2020-09-18 13:36:00
2020-09-18 13:37:00
2020-09-18 13:38:00
2020-09-18 13:39:00
2020-09-18 13:40:00
2020-09-18 13:41:00
2020-09-18 13:42:00
2020-09-18 13:43:00
2020-09-18 13:44:00
mynotebook is scheduled to run next at 2020-09-18T13:35:00
For each run the notebook, including all output, will be stored in jobs/results, and we can get it back:
$ om jobs list results
['mynotebook.ipynb', 'mynotebook2.ipynb', 'results/mynotebook_2020-09-18 13:37:56.885840.ipynb']
$ om jobs get 'results/mynotebook_2020-09-18 13:37:56.885840.ipynb' mynotebook_results.ipynb