Snakemake supports panoptes a server (under development) that lets you monitor the execution of snakemake workflows. Snakemake communicates with panoptes via the --wms-monitor flag. The flag specifies the ip and port where panoptes is running (e.g. --wms-monitor Snakemake sends the following requests to wms monitor:

API Method Data Description
/api/service-info GET json Snakemake gets the status of panoptes. Snakemake continues to run if the status (json['status']) is 'running'. In all other cases snakemake exits with an error message.
/create_workflow GET json Snakemake gets a unique id/name str(uuid.uuid4()) for each workflow triggered.
/update_workflow_status POST dictionary

Snakemake posts updates for workflows/jobs. The dictionary sent contains the log message dictionary , the current timestamp and the unique id/name of the workflow.

    'msg': repr(msg),
    'timestamp': time.asctime(),
    'id': id