Skip to Content

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.

  1. 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

  1. Finalize Assignment:
{ "data": { /* output data */ }, "assign_new_task": true }
  1. 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.

  • 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

  1. Assignment Duration:

    • Implement appropriate expiration intervals
    • Align timeouts with task requirements
    • Implement expired assignment monitoring
  2. Task Distribution:

    • Select appropriate sequencing strategy
    • Configure priority settings per operational requirements
    • Implement topic-based routing for specialized tasks
  3. Reviewer Management:

    • Monitor assignment distribution
    • Configure parallel task limits
    • Track completion metrics
Last updated on