Reference material — FireWorks 2.0.2 documentation

# 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 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-specific 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.