Assignment
Assignments in Qrambo establish the relationship between Tasks and Reviewers, determining task distribution and management.
Status
- Created
- Assigned to a reviewer, reviewer is working on it.
- Finished
- Means that the assignment has been finished by a reviewer, you can take output data and continue your workflow.
- Expired
- Assignment has not been finished by a reviewer within the assignment expiration time
- Skipped
- Skipped by a reviewer
Lifecycle
Assignment Strategy
The assignment strategy comprises 5 parameters:
seconds_to_expire and expire_at are mutually exclusive parameters.
- seconds_to_expire
- The time in seconds after which the assignment will expire and task will be AVAILABLE again.
- expire_at
- The time at which the assignment will expire and task will be AVAILABLE again.
- order
- The order of the tasks to be assigned. It can be 'fifo' or 'lifo'.
- priority_order
- The order of the tasks to be assigned. It can be 'important_first' or 'important_last' or 'no'.
- topic
- The topic of the tasks to be assigned. It can be 'math' or 'biology'.
- multitask_index
- For getting multiple tasks assigned. It can be [1-10]. Use it wisely.
Assignment strategy can be set during grabbing a task.
You can create default strategy for your queue. See Queue for more information.
Seconds to Expire or Expire At
If neither seconds_to_expire nor expire_at is specified, the assignment will remain active indefinitely. This may prevent other reviewers from accessing the task if the assigned reviewer becomes unavailable.
Setting either seconds_to_expire or expire_at is recommended for optimal task management.
- Assignment Expiration:
- Minimum duration: 10 seconds
- expire_at must specify a future timestamp
- Configurable during task assignment or initial grab
Order
Determines task assignment sequence. Options:
- FIFO (First In, First Out): Default, assigns tasks in order of creation
- LIFO (Last In, First Out): Assigns most recently created tasks first
Priority Order
Determines task priority sequence. Options:
- important_first: Prioritizes high-priority tasks
- important_last: Delays high-priority tasks
- no: Maintains creation order
The default configuration is important_first
. However, to prevent low-priority tasks from experiencing prolonged delays, administrators can assign specific reviewers to use important_last
or no
priority strategies.
Topic
Defines task categorization (e.g., ‘math’, ‘biology’, ‘paid_users’, ‘free_users’). This parameter enables workload distribution optimization across reviewers within a queue.
Multitask Index
Specifies concurrent task assignment capacity, ranging from 1 to 10. This advanced parameter requires careful consideration of system resources and operational requirements. Recommended for experienced administrators familiar with system performance implications.
Assignment Methods
1. Grab Task
Reviewers may obtain available tasks through the grab endpoint:
{
"seconds_to_expire": 1800,
"order": "fifo",
"priority_order": "important_first",
"topic": "math",
"multitask_index": 1
}
2. Self-Assignment
Enables reviewers to select specific tasks:
{
"seconds_to_expire": 1800,
"multitask_index": 1
}
Assignment Operations
- Finalize Assignment:
{
"data": {
/* output data */
},
"assign_new_task": true
}
- Skip Assignment: Provides options for temporary or permanent task exclusion. Time limits determine future task availability.
{
"seconds_to_expire": 1800 // or null for permanent exclusion
}
Permanent exclusion may result in task stagnation if multiple reviewers opt to skip.
Related Notification Events
- ASSIGNMENT_CREATED: When an assignment is created
- ASSIGNMENT_FINISHED: When an assignment is finished
- ASSIGNMENT_EXPIRED: When an assignment is expired
- ASSIGNMENT_SKIPPED: When an assignment is skipped
Query Support
Assignments support filtering by:
- Queue
- Reviewer
- Status
Best Practices
-
Assignment Duration:
- Implement appropriate expiration intervals
- Align timeouts with task requirements
- Implement expired assignment monitoring
-
Task Distribution:
- Select appropriate sequencing strategy
- Configure priority settings per operational requirements
- Implement topic-based routing for specialized tasks
-
Reviewer Management:
- Monitor assignment distribution
- Configure parallel task limits
- Track completion metrics