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.