PacketStatus

class PacketStatus(Enum):
The status of a packet. The packet can be in one of the following states:
  • __INLINE_CODE_0__: The packet has been sent to a worker.
  • __INLINE_CODE_1__: The packet has been claimed by a worker and is being processed.
  • __INLINE_CODE_2__: The packet has been returned by the worker, meaning that the status of the task inside has been updated.
  • __INLINE_CODE_3__: The packet has been archived, meaning that the content of the task inside will not be changed. The task is considered as a dependency.

Packet

class Packet:
The basic element inside the channel. A task is wrapped inside a packet. The packet will contain the task, along with the task’s assignee, and the task’s status. Parameters:
  • task (Task): The task that is wrapped inside the packet.
  • publisher_id (str): The ID of the workforce that published the task.
  • assignee_id (Optional[str], optional): The ID of the workforce that is assigned to the task. Would be None if the task is a dependency. Defaults to None.
  • status (PacketStatus): The status of the task.

init

def __init__(
    self,
    task: Task,
    publisher_id: str,
    assignee_id: Optional[str] = None,
    status: PacketStatus = PacketStatus.SENT
):

repr

def __repr__(self):

TaskChannel

class TaskChannel:
An internal class used by Workforce to manage tasks. This implementation uses a hybrid data structure approach:
  • Hash map (_task_dict) for O(1) task lookup by ID
  • Status-based index (_task_by_status) for efficient filtering by status
  • Assignee/publisher queues for ordered task processing

init

def __init__(self):

_update_task_status

def _update_task_status(self, task_id: str, new_status: PacketStatus):
Helper method to properly update task status in all indexes.

_cleanup_task_from_indexes

def _cleanup_task_from_indexes(self, task_id: str):
Helper method to remove a task from all indexes. Parameters:
  • task_id (str): The ID of the task to remove from indexes.