Skip to content

Task Creation Config

The Task Submission Config is used to submit completed tasks and it includes information about the task as well as scripts used to perform the task and any output locations of visualizations, reports, etc.

Curious to know more about how to submit a task? See the Create Tasks user guide.

TOML Example

# this is an example of the toml that is submitted WHEN A USER HAS COMPLETED TASKS AND WANTS TO NOTIFY PIPES

task_name = "check-wind"
type = "QAQC"                  # *required* must be one of [QAQC, Visualization, Transformation]
dataset_ids = ["load-profiles"]   # *optional* This is for datasets that live within the model run
vertex_ids = []  # *optional* If any datasets live outside of this model run, provide the vertex ids here
description = "Checked something"           # *required* describe the purpose of the task
notes = """"""                 # any info to store about the task (e.g., any issues etc.)
script = ["my_script.py"]  # the script used, provide the full path relative to the toml file
subtask_ids = ["check_wind"]                   # if performing preset tasks that PIPES knows about (e.g., transformations),
                           # please provide all ids of the tasks that were performed
                                       # to get a list of possible task ids, in the terminal type `some PIPES CLI command`
relates_to = [""]          # objects in PIPES this task relates to
[outputs] # optional
  location = "" # where is the output located if it is not going to be checked into PIPES
  # put any other information related to outputs below

Schema Definition

schemas

TaskCreate

Attributes:

Name Type Description
assignee UserCreate | EmailStr | None
completion_date datetime | None
description str
input_datasets list[str]
input_parameters dict
logs str
name str
notes str
output_datasets list[str]
output_values dict
scheduled_end datetime | None
scheduled_start datetime | None
source_code SourceCode | None
status ExecutionStatus
subtasks list[SubTask]
type str

assignee = Field(title='assignee', default=None, description='The user who conducts this task')

completion_date = Field(title='completion_date', description='task completion date', default=None)

description = Field(title='description', default='', description='description of task process')

input_datasets = Field(title='input_datasets', description='List of datasets that the task applies to.', default=[])

input_parameters = Field(title='input_parameters', description='Non-dataset inputs, i.e. parameters in dictionary', default={})

logs = Field(title='logs', description='task log location', default='')

name = Field(title='name', description='task name, must be unique to this model run.')

notes = Field(title='notes', description='notes and additional information', default='')

output_datasets = Field(title='output_datasts', description='List of datasets produced from this task', default=[])

output_values = Field(title='output_values', description='non-dataset outputs, i.e. values in dictionary', default={})

scheduled_end = Field(title='scheduled_end', description='scheduled end date', defualt=None)

scheduled_start = Field(title='scheduled_start', description='scheduled start date', default=None)

source_code = Field(title='script', description='Scripts used to perform the task process', default=None)

status = Field(title='status', default=ExecutionStatus.PENDING, description='The task status - PENDING, RUNNING, SUCCESS, or FAILURE')

subtasks = Field(title='subtasks', description='List of actions under this task')

type = Field(title='type', description='task type, like be QAQC, Transformation, or Visualization')