Reference material

Interpretation of ‘state’ of FWs and WFs

Recall that a Workflow is a composed of one or more FireWorks. Both FireWorks and Workflows have a state (status).

You can get the states of FireWorks and Workflows using LaunchPad queries or through the web interface.

FireWorks states

A Firework state represents the status of a single job.

State Meaning
ARCHIVED Similar to deleted. The Firework will not run, and its launches are archived (won’t be used in duplicate checking). However, you can still query the Firework. More information here.
DEFUSED The Firework is canceled/paused. Child FireWorks won’t run (although siblings might). The Firework can be resumed (reignited) later. More information here.
WAITING The Firework is waiting for a parent Firework to complete. The Rocket Launcher will not pull this Firework until parent jobs complete.
READY This Firework is ready to run, but hasn’t started running yet. The Rocket Launcher must pull this job and start running it.
RESERVED (Queue Launcher in reservation mode only). The Firework is waiting in a queue to run. More information here.
FIZZLED The Firework has failed; it was executed but threw an error during the process. It can be rerun if desired - more information here.
RUNNING The Firework is currently running. Note that in catastrophic cases, a Firework may display this state even though it has crashed; more information here.
COMPLETED The Firework has successfully finished running.

Workflows states

The state of a Workflow depends on the states of its component FireWorks.

State Meaning
ARCHIVED Similar to deleted. All the individual Firework states are ARCHIVED.
COMPLETED All the individual Firework states are COMPLETED - the workflow is finished.
DEFUSED At least one Firework in the workflow is DEFUSED. (If you have a branching workflow, other FireWorks might be running).
FIZZLED At least one Firework in the workflow is FIZZLED and no FWs are DEFUSED. (If you have a branching workflow, other FireWorks might be running).
RUNNING At least one Firework is RUNNING or COMPLETED. This state means that workflow has started but is not yet fully complete.
RESERVED No FireWorks are RUNNING or COMPLETED, but at least one Firework has been submitted to the queue.
READY The workflow has not started running and no FireWorks are reserved to run.

Reserved keywords in FW spec

The FW spec has certain reserved keywords that indicate special instructions to the FireWorks software. They are listed below:

Keyword Meaning
_tasks Reserved for specifying the list of Firetasks in the spec.
_priority Used to specify the job’s priority. More information here.
_pass_job_info This will pass a dictionary with keys [“fw_id”, “fw_name”, “launch_dir”] to the “_job_info” key. More information here.
_launch_dir Pre-specify the directory to run the job rather than using default FW directory. More information here.
_fworker Used to control what resources run this job. More information here.
_category Used to control what resources run this job. More information here.
_queueadapter Special queue parameters for this job. More information here.
_add_fworker Embeds FireWorker (fireworker) variable inside the Firetask just before runtime.
_add_launchpad_and_fw_id Embeds LaunchPad (launchpad) and fw_id (fw_id) variables inside the Firetask just before runtime. Not best practice but maybe useful.
_dupefinder Used to specify a duplicate finder object for avoiding duplicated runs. More information here.
_allow_fizzled_parents Run this Firework if all parents are either COMPLETED or FIZZLED.
_preserve_fworker Run the children on the same FireWorker as the parent
_job_info Reserved for automatically putting putting information about previous jobs via the _pass_job_info option.
_fizzled_parents Reserved for automatically putting information about FIZZLED parents in a child Firework with the _allow_fizzled_parents option.
_trackers Reserved for specifying Trackers.
_background_tasks Reserved for specifying BackgroundTasks
_fw_env Reserved for setting worker-specifc environment variables. More information here.
_files_in Reserved for specifying a dict of {name: filename} for input files to be copied from preceding FW.
_files_out Reserved for specifying a dict of {name, output file name} that can be copied by a child FW.
_files_prev Reserved for storing the actual full filepaths if _files_out is specified.