silverslice/yii2-queue-failed 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

silverslice/yii2-queue-failed

Composer 安装命令:

composer require silverslice/yii2-queue-failed

包简介

Manage failed queued jobs in Yii 2

README 文档

README

When your job fails after max number of attempts in Yii 2, it is removed from a queue as completed. This extension saves failed jobs in database table and helps to view and retry them later.

Install

composer require silverslice/yii2-queue-failed

Apply database migration:

yii migrate --migrationPath=@vendor/silverslice/yii2-queue-failed/src/migrations/

Configuration

Add queueFailed component to the console application config file:

return [
    'components' => [
        'queueFailed' => [
            'class' => silverslice\queueFailed\QueueFailed::class,
        ],
    ],
];

Add queueFailed component to the bootstrap:

return [
    'bootstrap' => [
        'queue', 'queueFailed'
    ],
    // ...
]

Usage in console

Show all failed jobs:

yii queue-failed/list

╔════╤═══════════════════════════╤═════════════════╤═════════════════════╗
║ Id │ Class                     │ Original Job ID │ Failed at           ║
╟────┼───────────────────────────┼─────────────────┼─────────────────────╢
║ 1  │ app\models\jobs\FailedJob │ 123456789       │ 2022-06-06 06:14:32 ║
╚════╧═══════════════════════════╧═════════════════╧═════════════════════╝

Command displays job ID, job class, original job ID and failure time. The ID may be used to execute failed job again.

Show detailed information about a job by ID:

yii queue-failed/info ID

Command displays additional information about the job (job payload and error).

Execute a job by ID:

yii queue-failed/exec ID

Execute all jobs:

yii queue-failed/run

Pass --class option to filter jobs by class:

yii queue-failed/run --class='app\models\jobs\FailedJob'

Remove a job by ID:

yii queue-failed/remove ID

Clear all failed jobs:

yii queue-failed/clear

Pass --class option to filter jobs by class.

Notes

Jobs are saved in queue_failed table by default. You can change table name in the config (also you need to change name in migration):

'queueFailed' => [
    'class' => silverslice\queueFailed\QueueFailed::class,
    'tableName' => 'failed_jobs'
],

Extension attaches behavior to save failed jobs to the queue component by default. Change queue component name or add more queue components in the config if you need:

'queueFailed' => [
    'class' => silverslice\queueFailed\QueueFailed::class,
    'queue' => ['queue', 'queueDb'],
],

Extension registers its own console commands based on its component id. You can change it however you like:

'failed' => [
    'class' => silverslice\queueFailed\QueueFailed::class,
    'queue' => ['queue', 'queueDb'],
],

Then use in console:

yii failed/list

统计信息

  • 总下载量: 55.52k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-06-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固