Core features of TaskTiger
masterTaskTiger provides several advanced queue management features:
- Worker Execution Models: Supports per-task forking (to prevent memory leaks and enforce hard timeouts) or synchronous workers (for higher performance and connection reuse).
- Unique Queues: Prevents duplicate tasks from being queued if an identical task is already waiting.
- Task Locks: Prevents multiple instances of tasks with similar arguments from running simultaneously by acquiring a lock.
- Retries: Supports retrying exceptions with fixed, linear, exponential, or custom intervals.
- Flexible & Subqueues: Supports hierarchical queues (e.g.,
process_emails.CUSTOMER_ID). Workers can process specific queues or all subqueues to ensure fair resource distribution. - Batch Queues: Combines multiple tasks into a single execution to improve throughput.
- Scheduled/Periodic Tasks: Allows tasks to run at a specific time or on a recurring interval.
- Reliability: Uses atomic state moves and re-executes tasks if a worker crashes after a timeout.
- Error Handling: Unsuccessful tasks that are not configured for retry are moved to an error queue for manual inspection.