A simple python program to monitor a nextflow workflow running locally and send status updates to the INTERVENE platform backend.
- Listen to nextflow POSTs generated by
-with-weblog
- Filter messages to only keep a subset of events and data
- Re-POST to the INTERVENE backend with static token authentication
By default nextflow's weblog doesn't support any types of authentication, and adding this is deemed out of scope by the developers.
Using python's built in http.server
is OK because each workflow spawns one local server, which is never exposed to the internet.
The only dependency is the requests
library and python 3.10
.
$ module load python-data/3.10-23.07 # provides dependencies
$ export CALLBACK_TOKEN=<...>
$ python3 /path/to/main.py & # run in background
$ nextflow run ... -with-weblog http://localhost:8000