eLife Bot is a set of tools built on top of Amazon's [Simple Work Flow][swf] (SWF) to manage post-publication workflow. After we publish an article within eLife we want a number of processes to happen. eLife Bot mocks an event driven architecture by monitoring an S3 bucket hourly for the arrival of new files. History is stored in an AWS Simple DataBase. When a new or modified file is identified a workflow is trigged in [SWF][swf]. Our workflows have been configured to write logging information back into the Simple DB.
eLife bot is currently configured and deployed manually via a custom Ec2 instance. This is partially described in installation.md
. Tests are provided in lettuce
.
We have added unit tests for the eLife bot activities using Python unittest library. Running on the command line: cd to elife-bot and execute: python -m pytest --junitxml=build/junit.xml tests/
Existing workflows are documentd in current-workflows.md
.
In principle this system can be extended horizontally. Adding new workers and workflows should be easy.
Issues and backlog items are stored in Github on the project issues page.
Major milestones that we would like to see are:
- setting up deployment via chef
- making extending the workflow super easy
- adding a visual reporting strucutre
- adding a way to poll external endpoints for ALM data (potentially)
If you have a contribution you wouldl like us to consider, please send a pull request.
This is part of the eLife suite of tools. You can find more resources at elifesciences.org.
eLife is an open access publisher in the life sciences. We are supported by The Wellcome Trust, The Howard Hughes Medical Institute and The Max Planck Society. We publish at elifescience.org.
Copyright 2016 eLife Sciences. Licensed under the MIT license.