kozhemin/yii2-background-task-queue
最新稳定版本:1.0.0
Composer 安装命令:
composer require kozhemin/yii2-background-task-queue
包简介
Yii2 background task queue Extension is a simple and easy-to-use extension for running background tasks in Yii2 applications
README 文档
README
Yii2 background task queue Extension is a simple and easy-to-use extension for running background tasks in Yii2 applications.
Installation
The preferred way to install this extension is through composer.
composer require kozhemin/yii2-background-task-queue
migration
php yii migrate --migrationPath=@vendor/kozhemin/yii2-background-task-queue/migrations
Basic Usage
use kozhemin\backgroundTaskQueue\TaskPublisher; $task = new MySimpleTask(); $taskPublisher = new TaskPublisher($task); $queue = $taskPublisher ->setDescription('My simple task') ->setDelay(60) ->publish(); if ($queue->hasErrors()) { echo "\nTask not created. Errors: " . implode(', ', $queue->getFirstErrors()) . "\n"; return ExitCode::UNSPECIFIED_ERROR; } echo "\nTask created with id: " . $queue->uuid . "\n";
Task class example
use kozhemin\backgroundTaskQueue\contracts\HandlerInterface; use kozhemin\backgroundTaskQueue\contracts\TaskResponseInterface; use kozhemin\backgroundTaskQueue\TaskResponse; class MySimpleTask implements HandlerInterface { public function run(): TaskResponseInterface { // some code here echo "Start task\n"; sleep(3); echo "End task\n"; $response = new TaskResponse(); $response->setMessage(['firstResponseMsg' => 'Hello from task1!']); $response->appendMessage(['secondResponseMsg' => 'Hello from task2!']); return $response; } }
all commands
- task-queue Controller for managing background tasks.
task-queue/run Runs the task.
task-queue/ls Displays a list of tasks.
task-queue/info Displays information about the task.
task-queue/cancel Cancels the task.
task-queue/retry Retries the task.
run task
# run task php yii task-queue/run # or with uuid php yii task-queue/run <uuid>
example crontab
# run task every minute * * * * * php yii task-queue/run # run task every 30 seconds * * * * * php yii task-queue/run * * * * * sleep 30 && php yii task-queue/run # run every 10 seconds * * * * * php yii task-queue/run * * * * * sleep 10 && php yii task-queue/run * * * * * sleep 20 && php yii task-queue/run * * * * * sleep 30 && php yii task-queue/run * * * * * sleep 40 && php yii task-queue/run * * * * * sleep 50 && php yii task-queue/run
listen task
php yii task-queue/ls # or with status filter php yii task-queue/ls --limit=10 --status=0,1,2,3 # run help command for more options php yii help task-queue/ls
example listen task real time
# run listen task real time
watch -n 1 php yii task-queue/ls
Screenshots
# task list
php yii task-queue/ls --status=0,1,2,3
# task info
php yii task-queue/info 67895e8b58fbb
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-16

