server.web.routes.v3.fsm.task_instance

Routes for TaskInstances.

Attributes

logger

Functions

log_running() → Any)

Log a task_instance as running.

log_ti_report_by() → Any)

Log a task_instance as being responsive with a new report_by_date.

log_ti_report_by_batch() → Any)

Log task_instances as being responsive with a new report_by_date.

log_done() → Any)

Log a task_instance as done.

log_error_worker_node() → Any)

Log an error for a task instance.

get_task_instance_error_log() → Any)

Route to return all task_instance_error_log entries of the task_instance_id.

get_array_task_instance_id() → Any)

Given an array ID and an index, select a single task instance ID.

log_no_distributor_id() → Any)

Log a task_instance_id that did not get an distributor_id upon submission.

log_distributor_id() → Any)

Log a task_instance's distributor id.

log_known_error() → Any)

Log a task_instance as errored.

log_unknown_error() → Any)

Log a task_instance as errored.

instantiate_task_instances() → Any)

Sync status of given task intance IDs.

Module Contents

server.web.routes.v3.fsm.task_instance.logger
async server.web.routes.v3.fsm.task_instance.log_running(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance as running.

async server.web.routes.v3.fsm.task_instance.log_ti_report_by(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance as being responsive with a new report_by_date.

This is done at the worker node heartbeat_interval rate, so it may not happen at the same rate that the reconciler updates batch submitted report_by_dates (also because it causes a lot of traffic if all workers are logging report by_dates often compared to if the reconciler runs often).

Parameters:
  • task_instance_id – id of the task_instance to log

  • request – fastapi request object

  • db – The database session.

async server.web.routes.v3.fsm.task_instance.log_ti_report_by_batch(request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log task_instances as being responsive with a new report_by_date.

This is done at the worker node heartbeat_interval rate, so it may not happen at the same rate that the reconciler updates batch submitted report_by_dates (also because it causes a lot of traffic if all workers are logging report by_dates often compared to if the reconciler runs often).

Parameters:
  • task_instance_id – id of the task_instance to log

  • request – fastapi request object

  • db – The database session.

async server.web.routes.v3.fsm.task_instance.log_done(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance as done.

async server.web.routes.v3.fsm.task_instance.log_error_worker_node(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log an error for a task instance.

async server.web.routes.v3.fsm.task_instance.get_task_instance_error_log(task_instance_id: int, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Route to return all task_instance_error_log entries of the task_instance_id.

Parameters:
  • task_instance_id (int) – ID of the task instance

  • db – The database session.

Returns:

jsonified task_instance_error_log result set

server.web.routes.v3.fsm.task_instance.get_array_task_instance_id(array_id: int, batch_num: int, step_id: int, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Given an array ID and an index, select a single task instance ID.

Task instance IDs that are associated with the array are ordered, and selected by index. This route will be called once per array task instance worker node, so must be scalable.

async server.web.routes.v3.fsm.task_instance.log_no_distributor_id(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance_id that did not get an distributor_id upon submission.

async server.web.routes.v3.fsm.task_instance.log_distributor_id(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance’s distributor id.

async server.web.routes.v3.fsm.task_instance.log_known_error(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance as errored.

Parameters:
  • task_instance_id (int) – id for task instance.

  • request (Request) – fastapi request object.

  • db – The database session.

async server.web.routes.v3.fsm.task_instance.log_unknown_error(task_instance_id: int, request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Log a task_instance as errored.

Parameters:
  • task_instance_id (int) – id for task instance

  • request (Request) – fastapi request object

  • db – The database session.

async server.web.routes.v3.fsm.task_instance.instantiate_task_instances(request: fastapi.Request, db: sqlalchemy.orm.Session = Depends(get_db)) Any

Sync status of given task intance IDs.