Skip to content
This repository has been archived by the owner on Jan 5, 2022. It is now read-only.
Beth Cimini edited this page Dec 6, 2021 · 6 revisions

Here's what you need to do to Distribute something

First, do your research on how to do the thing you want to do from the command line.

  1. How splittable is the thing you ultimately want to do? If not very, is this even a good idea?
  2. Make or find a Docker of the thing you want to Distribute- CellProfiler, Fiji, CellPose, whatever.
  3. Figure out how to make it do what you want at the command line. What parameters do you need to give it? What is generic to how you like to run the application and what is different for each job?

Once you're ready to get started

  1. Edit config.py - you may not need to change this at all, unless you have a high-level variable you want to be able to add, or if you want to remove something already there (like the check for if things are done)
  2. Edit run.py - make the section on the task definitions have your extra (or removed) things from the config file
  3. Edit exampleJob.json - what do you need to pass in and what is always true for a given run vs variable for each job?
  4. Edit generic-worker.py - need to parse the input message, create the call command, and figure out how to determine if it succeeded or failed. This is the only kind-of-hard part, but there are comments to guide you.
  5. Edit run-worker.sh - if you change the name of the generic-worker.py , and/or if you plan to change the Python versions, reflect those changes here
  6. Edit the Dockerfile - start from the correct container from step 1, otherwise nothing unless you want to add something to the Docker container that isn't in your container already (like downloading plugins or a script)
  7. Edit the Makefile - correct the username, project name, and tag

That's it!

Clone this wiki locally