Download the PHP package solophp/task-queue without Composer
On this page you can find all versions of the php package solophp/task-queue. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package task-queue
TaskQueue
A lightweight PHP task queue built on top of the Solo Database.
Supports scheduled execution, retries, task expiration, indexed task types, automatic deletion of completed tasks, and optional process-level locking via LockGuard
.
๐ฆ Installation
โ๏ธ Setup
๐ Usage
Add a task:
Process all tasks:
Process only specific type:
๐ Using LockGuard
(optional)
๐งฐ Features
- Task Retries โ Configurable max retry attempts before marking as failed
- Task Expiration โ Automatic expiration via
expires_at
timestamp - Indexed Task Types โ Fast filtering by
payload_type
- Row-Level Locking โ Prevents concurrent execution of the same task
- Transactional Safety โ All task operations are executed within a transaction
- Optional Process Locking โ Prevent overlapping workers using
LockGuard
- Optional Deletion on Success โ Set
deleteOnSuccess: true
to automatically delete tasks after success
๐งช API Methods
Method | Description |
---|---|
install() |
Create the tasks table |
addTask(string $name, array $payload, ?DateTimeImmutable $scheduledAt = null, ?DateTimeImmutable $expiresAt = null) |
Add task to the queue (default schedule: now) |
getPendingTasks(int $limit = 10, ?string $onlyType = null) |
Retrieve ready-to-run tasks, optionally filtered by type |
markCompleted(int $taskId) |
Mark task as completed |
markFailed(int $taskId, string $error = '') |
Mark task as failed with error message |
processPendingTasks(callable $callback, int $limit = 10, ?string $onlyType = null) |
Process pending tasks with a custom handler |
๐ License
This project is open-sourced under the MIT license.
All versions of task-queue with dependencies
PHP Build Version
Package Version
The package solophp/task-queue contains the following files
Loading the files please wait ....