/dispatcher

Job dispatcher for plantismash.secondarymetabolites.org

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

antiSMASH compute job dispatcher

This is the job dispatcher powering http://antismash.secondarymetabolites.org/

Installation

pip install -r requirements.txt

The dispatcher also requires a Redis database to work, it looks on Redis's port on localhost per default.

Additionally, make sure run_antismash.py is in your path with all its dependencies installed.

Running the dispatcher

The whole dispatcher consists of a number of scripts, listed here in the order of importance.

runSMASH

The main dispatcher. You need this in order to start antiSMASH jobs. Use --help to see all available options. The two important options that need to match the corresponding settings in the websmash web UI configuration are --queue and --workdir. If you want to run multiple dispatchers, you will want to give all of them a unique name using --name. You also might want to limit the numbers of CPUs that can be used with --cpus.

watchStatus

The status updater. Use this to get a detailed job status display in the database and web UI. Make sure --queue and --statusdir are set up correctly. This script uses the Linux inotify API, so it might not work on network filesystems that are modified remotely.

smashctl

A tool to help manage running dispatchers and the web UI. Comes with the subcommands job to manage jobs, control to manage dispatchers and notice to manage notices displayed on the web UI.

cleanup_jobs

Remove data for timed-out jobs. Again, --queue and --workdir are the important parameters to sync up with the rest of the install.

License

The dispatcher code is licensed under the GNU GPL version 3. See the LICENSE.txt file for details.