Job Status Emails#

SiliconCompiler supports sending job status updates to your email. To get started you will need to get the SMTP login information. Using this information create a file at $HOME/.sc/email.json and fill it in with the login information as shown below.

{
    "server": "smtp.gmail.com",
    "port": 465,
    "ssl": true,
    "username": "[email protected]",
    "password": "app password",
    "from": "Updates <[email protected]>"
}

During the job execution you can control where the emails will be sent to by setting ['option', 'scheduler', 'msgcontact'], this can be controlled per node basis. Additionally, ['option', 'scheduler', 'msgevent'] needs to set to indicate the types of messages to receive. By default, this is disabled. This key can be set to the following values:

  • begin: this will send a message to indicate a specific node has begun.

  • end: this will send a message to indicate a specific node has finished.

  • fail: this will send a message to indicate a specific node has failed.

  • timeout: this will send a message to indicate a specific node has timed out.

  • summary: this will send a message with a summary of the run metrics.

  • all: convenience value to include all of the above.

...
# Send messages for all nodes to [email protected]
chip.set('option', 'scheduler', 'msgcontact', '[email protected]')

# Send messages for route step to [email protected] and [email protected]
chip.set('option', 'scheduler', 'msgcontact', ['[email protected]', '[email protected]'], step='route')

# Send messages at the end of each node, in the event of a failure, and the final summary.
chip.set('option', 'scheduler', 'msgevent', ['end', 'fail', 'summary'])
...

Each email for node execution will contain the status of the run, metrics and records collected to this point, and any logs that are available. The summary email will contain a metrics table and the output image if one is available.

email examples#
../../_images/end.png ../../_images/summary.png