Scheduled deployment example#
Here is an example anaconda-project.yml file to demonstrate how to use a scheduled deployment task with scripts and notebooks:
name: Scheduled Job
packages:
- python=3.7
- notebook
channels:
- defaults
platforms:
- linux-64
env_specs:
default: {}
Scripts#
You can run scripts in the correct conda environment by declaring a python executable that’s consistent with the packages specified in the anaconda-project.yml file—in this example, a Python 3.7 Notebook.
The following excerpt of an example anaconda-project.yml file uses an appropriate python executable.
commands:
script_task:
unix: python task.py
In this example, task.py runs the following code, which will print the time and date when the script runs.
from datetime import datetime
print(datetime.now())
Notebooks#
Notebook files cannot be executed using the notebook: command, as that command starts an interactive Jupyter session.
Instead, you can specify a unix: command to execute a Jupyter notebook.
For example, create a simple notebook named task.ipynb, with a single cell:
To run the notebook, create another file in the project named run_nb.sh that contains the following:
jupyter nbconvert --ExecutePreprocessor.kernel_name='python3' --to markdown --stdout --execute $1
This run_nb.sh script runs the nbconvert tool against the notebook file, and ensures that:
The Python3 kernel is used
The output is converted to easy-to-ready Markdown
The output is directed to STDOUT rather than a file
Lastly, add the following to the anaconda-project.yml file for the task.ipynb notebook:
commands:
notebook_task:
unix: sh run_nb.sh task.ipynb
After you save and commit your project, you can create a schedule to run it.