MonitoringΒΆ

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 http://127.0.0.1:5000).

For panoptes versions 0.1.1 and lower, 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
}

For future versions, Panoptes will implement`a more structured schema <https://github.com/panoptes-organization/monitor-schema>`_ to interact with the server. This means that for Snakemake 3.30.1 and lower, you should use Panoptes 0.1.1 and lower. The documentation here will be updated when a new version of Panoptes with the Monitor Schema is released.