Yii2 队列扩展,Redis 驱动中,info 命令打印关于队列状态的信息时,reserved 状态的队列的分析

1、Yii2 队列扩展,Redis 驱动中,info 命令打印关于队列状态的信息时,reserved 状态的队列一直存在。查看系统日志,也无任何的异常输出。参考网址:https://www.shuijingwanwq.com/2019/12/16/3737/ 。如图1

图1

[root@d826b26981f1 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 2
- done: 1030
[root@d826b26981f1 channel-pub-api]# ./yii copy-asset-queue/run --verbose=1 --isolate=1 --color=0
2020-08-26 11:04:06 [pid: 17985] - Worker is started
2020-08-26 11:04:06 [pid: 17985] - Worker is stopped (0:00:00)
[root@d826b26981f1 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 2
- done: 1030

2、查看 supervisord 运行状态:supervisorctl status。删除任务组队列,怀疑任务组队列存在问题。如图2

图2

[root@d826b26981f1 channel-pub-api]# supervisorctl status
cronolog                                                               RUNNING   pid 960, uptime 20:18:51
nginx                                                                  RUNNING   pid 949, uptime 20:18:51
php-fpm                                                                RUNNING   pid 945, uptime 20:18:51
report_client                                                          RUNNING   pid 959, uptime 20:18:51
yii-baijia-article-sync                                                RUNNING   pid 19164, uptime 0:00:00
yii-copy-asset-queue-worker:yii-copy-asset-queue-worker_00             RUNNING   pid 943, uptime 20:18:51
yii-douyin-web-video-sync                                              STARTING
yii-log-delete                                                         STARTING
yii-netease-tp-article-sync                                            STARTING
yii-pub-article-queue-worker:yii-pub-article-queue-worker_00           RUNNING   pid 940, uptime 20:18:51
yii-qq-cw-transaction-article-sync                                     STARTING
yii-qq-cw-transaction-video-sync                                       STARTING
yii-qq-tp-transaction-article-sync                                     STARTING
yii-qq-tp-transaction-video-sync                                       STARTING
yii-source-callback-queue-worker:yii-source-callback-queue-worker_00   RUNNING   pid 958, uptime 20:18:51
yii-task-group-queue-worker:yii-task-group-queue-worker_00             RUNNING   pid 954, uptime 20:18:51
yii-upload-asset-queue-worker:yii-upload-asset-queue-worker_00         RUNNING   pid 941, uptime 20:18:51

3、删除任务组队列后,info 命令打印关于队列状态的信息时,reserved 状态的队列仍然一直存在。

[root@f2159c1afb23 /]# cd /mcloud/www/channel-pub-api/
[root@f2159c1afb23 channel-pub-api]# supervisorctl status
cronolog                                                               RUNNING   pid 961, uptime 1:37:18
nginx                                                                  RUNNING   pid 949, uptime 1:37:18
php-fpm                                                                RUNNING   pid 944, uptime 1:37:18
report_client                                                          RUNNING   pid 959, uptime 1:37:18
yii-baijia-article-sync                                                RUNNING   pid 10238, uptime 0:00:00
yii-copy-asset-queue-worker:yii-copy-asset-queue-worker_00             RUNNING   pid 943, uptime 1:37:18
yii-douyin-web-video-sync                                              STARTING
yii-log-delete                                                         STARTING
yii-netease-tp-article-sync                                            STARTING
yii-pub-article-queue-worker:yii-pub-article-queue-worker_00           RUNNING   pid 940, uptime 1:37:18
yii-qq-cw-transaction-article-sync                                     STARTING
yii-qq-cw-transaction-video-sync                                       STARTING
yii-qq-tp-transaction-article-sync                                     STARTING
yii-qq-tp-transaction-video-sync                                       STARTING
yii-source-callback-queue-worker:yii-source-callback-queue-worker_00   RUNNING   pid 957, uptime 1:37:18
yii-upload-asset-queue-worker:yii-upload-asset-queue-worker_00         RUNNING   pid 941, uptime 1:37:18
[root@f2159c1afb23 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 2
- done: 1030
[root@f2159c1afb23 channel-pub-api]# ./yii copy-asset-queue/run --verbose=1 --isolate=1 --color=0
2020-08-26 13:04:47 [pid: 10271] - Worker is started
2020-08-26 13:04:47 [pid: 10271] - Worker is stopped (0:00:00)
[root@f2159c1afb23 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 2
- done: 1030

4、将之前同事所调整的相应队列作业实现还原。

// 还原前:
Yii::$app->copyAssetQueue->push(new CopyAssetJob(['taskId' => $data['task_id']]));

// 还原后:
Yii::$app->copyAssetQueue->push(new CopyAssetJob([
    'taskId' => $data['task_id'],
]));

// 还原前:
if (count($notAbsoluteUrlStartKeys) > 0) {
    $notAbsoluteUrlStartKeys = implode(",", $notAbsoluteUrlStartKeys);
    throw new UnprocessableEntityHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '202003'), ['not_absolute_url_start_keys' => $notAbsoluteUrlStartKeys])), 202003);
}

if (count($notExistsKeys) > 0) {
    $notExistsKeys = implode(",", $notExistsKeys);
    throw new NotFoundHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '202004'), ['not_exists_keys' => $notExistsKeys])), 202004);
}

// 还原后:
if (!empty($notAbsoluteUrlStartKeys)) {
    $notAbsoluteUrlStartKeys = implode(",", $notAbsoluteUrlStartKeys);
    throw new UnprocessableEntityHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '202003'), ['not_absolute_url_start_keys' => $notAbsoluteUrlStartKeys])), 202003);
}

if (!empty($notExistsKeys)) {
    $notExistsKeys = implode(",", $notExistsKeys);
    throw new NotFoundHttpException(Yii::t('error', Yii::t('error', Yii::t('error', '202004'), ['not_exists_keys' => $notExistsKeys])), 202004);
}

5、重新升级后,reserved 状态的队列数量快速变化为 0 ,查看标准输出日志文件,stdout_logfile = /data/logs/yii-copy-asset-queue-worker-stdout.log。attempt 的值分别等于 140、136。如图3

图3

[root@04302a060834 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1032
[root@04302a060834 channel-pub-api]# cat /data/logs/yii-copy-asset-queue-worker-stdout.log
2020-08-26 13:24:04 [pid: 943] - Worker is started
2020-08-26 13:31:48 [1029] common\jobs\CopyAssetJob (attempt: 140, pid: 943) - Started
2020-08-26 13:31:49 [1029] common\jobs\CopyAssetJob (attempt: 140, pid: 943) - Done (0.228 s)
2020-08-26 13:33:47 [1031] common\jobs\CopyAssetJob (attempt: 136, pid: 943) - Started
2020-08-26 13:33:48 [1031] common\jobs\CopyAssetJob (attempt: 136, pid: 943) - Done (0.478 s)

6、info 命令打印关于队列状态的信息。发布文章队列中存在 reserved 状态的队列。查看标准输出日志文件,stdout_logfile = /data/logs/yii-pub-article-queue-worker-stdout.log。attempt 的值等于 1。如图4

图4

[root@04302a060834 /]# cd /mcloud/www/channel-pub-api/
[root@04302a060834 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1032
[root@04302a060834 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 489
[root@04302a060834 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 1
- done: 1262
[root@04302a060834 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1903
[root@04302a060834 channel-pub-api]# cat /data/logs/yii-pub-article-queue-worker-stdout.log
2020-08-26 13:24:04 [pid: 940] - Worker is started
2020-08-26 13:32:06 [1263] common\jobs\PubArticleJob (attempt: 1, pid: 940) - Started
2020-08-26 13:32:08 [1263] common\jobs\PubArticleJob (attempt: 1, pid: 940) - Done (2.411 s)

7、由于发布文章队列的实现分散于各个程序文件中,由不同的同事在实现。因此,很难排查具体原因。attempts 选项设置了最大的尝试次数。如果尝试已经结束,作业作还没有完成,它将从队列中移除。明确设置 4 组队列的 attempts 选项值为 1。虽然其默认值是 1。重新升级后,reserved 状态的队列数量快速变化为 0 ,查看标准输出日志文件,stdout_logfile = /data/logs/yii-pub-article-queue-worker-stdout.log。attempt 的值等于 27。如图5

图5

        'copyAssetQueue' => [ // 复制资源文件队列
            'class' => 'yii\queue\redis\Queue',
            'redis' => 'redis', // Redis 连接组件或它的配置
            'channel' => 'cpa:queue:copy:asset', // 队列键前缀
            'ttr' => 10 * 60, // 作业处理的最长时间,单位(秒)
            'attempts' => 1, // 作业处理的最大尝试次数
            'on afterExec' => ['common\components\queue\CopyAssetEventHandler', 'afterExec'], // 每次成功执行作业后
            'on afterError' => ['common\components\queue\CopyAssetEventHandler', 'afterError'], // 在作业执行期间发生未捕获的异常时
            'as log' => 'yii\queue\LogBehavior',
        ],
        'uploadAssetQueue' => [ // 上传资源文件队列
            'class' => 'yii\queue\redis\Queue',
            'redis' => 'redis', // Redis 连接组件或它的配置
            'channel' => 'cpa:queue:upload:asset', // 队列键前缀
            'ttr' => 2 * 60 * 60, // 作业处理的最长时间,单位(秒)
            'attempts' => 1, // 作业处理的最大尝试次数
            'on afterExec' => ['common\components\queue\UploadAssetEventHandler', 'afterExec'], // 每次成功执行作业后
            'on afterError' => ['common\components\queue\UploadAssetEventHandler', 'afterError'], // 在作业执行期间发生未捕获的异常时
            'as log' => 'yii\queue\LogBehavior',
        ],
        'pubArticleQueue' => [ // 发布文章队列
            'class' => 'yii\queue\redis\Queue',
            'redis' => 'redis', // Redis 连接组件或它的配置
            'channel' => 'cpa:queue:pub:article', // 队列键前缀
            'ttr' => 5 * 60, // 作业处理的最长时间,单位(秒)
            'attempts' => 1, // 作业处理的最大尝试次数
            'on afterExec' => ['common\components\queue\PubArticleEventHandler', 'afterExec'], // 每次成功执行作业后
            'on afterError' => ['common\components\queue\PubArticleEventHandler', 'afterError'], // 在作业执行期间发生未捕获的异常时
            'as log' => 'yii\queue\LogBehavior',
        ],
        'sourceCallbackQueue' => [ // 来源回调队列
            'class' => 'yii\queue\redis\Queue',
            'redis' => 'redis', // Redis 连接组件或它的配置
            'channel' => 'cpa:queue:source:callback', // 队列键前缀
            'ttr' => 5 * 60, // 作业处理的最长时间,单位(秒)
            'attempts' => 1, // 作业处理的最大尝试次数
            'on afterExec' => ['common\components\queue\SourceCallbackEventHandler', 'afterExec'], // 每次成功执行作业后
            'on afterError' => ['common\components\queue\SourceCallbackEventHandler', 'afterError'], // 在作业执行期间发生未捕获的异常时
            'as log' => 'yii\queue\LogBehavior',
        ],
[root@04302a060834 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1032
[root@04302a060834 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 489
[root@04302a060834 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1264
[root@04302a060834 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 2
- done: 1903
[root@04302a060834 channel-pub-api]# cat /data/logs/yii-pub-article-queue-worker-stdout.log
2020-08-26 13:24:04 [pid: 940] - Worker is started
2020-08-26 13:32:06 [1263] common\jobs\PubArticleJob (attempt: 1, pid: 940) - Started
2020-08-26 13:32:08 [1263] common\jobs\PubArticleJob (attempt: 1, pid: 940) - Done (2.411 s)
2020-08-26 14:21:49 [pid: 941] - Worker is started
2020-08-26 15:11:49 [1262] common\jobs\PubArticleJob (attempt: 27, pid: 941) - Started
2020-08-26 15:11:52 [1262] common\jobs\PubArticleJob (attempt: 27, pid: 941) - Done (2.534 s)
2020-08-26 15:29:52 [1264] common\jobs\PubArticleJob (attempt: 1, pid: 941) - Started
2020-08-26 15:30:02 [1264] common\jobs\PubArticleJob (attempt: 1, pid: 941) - Error (10.575 s)
> yii\web\UnprocessableEntityHttpException: 图片文件超过1M限制

8、等待了一段时间以后,大约为 1 个月左右,info 命令打印关于队列状态的信息时,reserved 状态的队列仍然一直存在。持续时间大约为 2 个小时左右。copy-asset-queue 的持续时间间隔(2020-09-24 13:30 – 2020-09-24 15:10)。pub-article-queue 的持续时间间隔(2020-09-24 15:10 – 2020-09-24 16:20)。如图6

图6

[root@6937bb8570bd channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1057
[root@6937bb8570bd channel-pub-api]# cat /data/logs/yii-copy-asset-queue-worker-stdout.log
2020-09-24 16:07:49 [pid: 943] - Worker is started
[root@6937bb8570bd channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 514
[root@6937bb8570bd channel-pub-api]# cat /data/logs/yii-upload-asset-queue-worker-stdout.log
2020-09-24 16:07:49 [pid: 941] - Worker is started
[root@6937bb8570bd channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1315
[root@6937bb8570bd channel-pub-api]# cat /data/logs/yii-pub-article-queue-worker-stdout.log
2020-09-24 16:07:49 [pid: 940] - Worker is started
2020-09-24 16:12:33 [1315] common\jobs\PubArticleJob (attempt: 17, pid: 940) - Started
2020-09-24 16:12:38 [1315] common\jobs\PubArticleJob (attempt: 17, pid: 940) - Done (4.206 s)
[root@6937bb8570bd channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 1
- done: 2019
[root@6937bb8570bd channel-pub-api]# cat /data/logs/yii-source-callback-queue-worker-stdout.log
2020-09-24 16:07:49 [pid: 957] - Worker is started
2020-09-24 16:18:15 [2020] common\jobs\SourceCallbackJob (attempt: 1, pid: 957) - Started
2020-09-24 16:18:15 [2020] common\jobs\SourceCallbackJob (attempt: 1, pid: 957) - Done (0.383 s)
[root@6937bb8570bd channel-pub-api]#

9、调整 Supervisor 配置文件中的 numprocs 的值为 2,在这种情况下,Supervisor 会启动 2 个 queue/listen worker。编辑 /etc/supervisord.d/yii-copy-asset-queue-worker.ini。其他 3 组队列文件也同样重新编辑。

[program:yii-copy-asset-queue-worker]
process_name = %(program_name)s_%(process_num)02d
command = php /mcloud/www/channel-pub-api/yii copy-asset-queue/listen --verbose=1 --color=0
autostart = true
autorestart = true
startsecs = 0
stopwaitsecs = 10
numprocs = 2
redirect_stderr = true
stderr_logfile = /data/logs/yii-copy-asset-queue-worker-stderr.log
stdout_logfile = /data/logs/yii-copy-asset-queue-worker-stdout.log

10、查看 supervisord 运行状态:supervisorctl status。每一组队列皆存在 2 个。如图7

图7

11、info 命令打印关于队列状态的信息时,reserved 状态的队列仍然一直存在。持续时间大约为 10 分钟左右。符合预期。copy-asset-queue 的持续时间间隔(2020/09/29 13:26 – 2020/09/29 13:35)。pub-article-queue 的持续时间间隔(2020/09/29 13:38 – 2020/09/29 13:42)。整体的 4 组队列全部执行完毕。大约可以控制在半小时之内。

2020/09/29 13:26
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 1
- done: 1070
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 516
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1356
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2060
[root@e560a4697114 channel-pub-api]#

2020/09/29 13:35
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1071
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 517
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1356
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2060
[root@e560a4697114 channel-pub-api]#

2020/09/29 13:38
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1071
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 517
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 1
- done: 1356
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2060
[root@e560a4697114 channel-pub-api]#


2020/09/29 13:42
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1071
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 517
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1357
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2060
[root@e560a4697114 channel-pub-api]#


2020/09/29 13:50
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1071
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 517
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1358
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2062
[root@e560a4697114 channel-pub-api]#
2020/09/30 15:38
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1076
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 520
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1362
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2066
[root@e560a4697114 channel-pub-api]#

2020/09/30 15:42
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1078
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 521
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1362
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2066
[root@e560a4697114 channel-pub-api]#

2020/09/30 15:43
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1078
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 521
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 1
- done: 1362
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2066
[root@e560a4697114 channel-pub-api]#

2020/09/30 15:48
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1078
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 521
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1363
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2068
[root@e560a4697114 channel-pub-api]#
2020/09/30 16:00
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 1
- done: 1079
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 521
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1363
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2068
[root@e560a4697114 channel-pub-api]#

2020/09/30 16:46
[root@e560a4697114 channel-pub-api]# ./yii copy-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1080
[root@e560a4697114 channel-pub-api]# ./yii upload-asset-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 522
[root@e560a4697114 channel-pub-api]# ./yii pub-article-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 1365
[root@e560a4697114 channel-pub-api]# ./yii source-callback-queue/info --color=0
Jobs
- waiting: 0
- delayed: 0
- reserved: 0
- done: 2069

 

永夜