51 lines
1.2 KiB
PHP
51 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace think\queue;
|
|
|
|
use think\helper\Arr;
|
|
use think\helper\Str;
|
|
use think\Queue;
|
|
use think\queue\command\FailedTable;
|
|
use think\queue\command\FlushFailed;
|
|
use think\queue\command\ForgetFailed;
|
|
use think\queue\command\Listen;
|
|
use think\queue\command\ListFailed;
|
|
use think\queue\command\Restart;
|
|
use think\queue\command\Retry;
|
|
use think\queue\command\Table;
|
|
use think\queue\command\Work;
|
|
|
|
class Service extends \think\Service
|
|
{
|
|
public function register()
|
|
{
|
|
$this->app->bind('queue', Queue::class);
|
|
$this->app->bind('queue.failer', function () {
|
|
|
|
$config = $this->app->config->get('queue.failed', []);
|
|
|
|
$type = Arr::pull($config, 'type', 'none');
|
|
|
|
$class = false !== strpos($type, '\\') ? $type : '\\think\\queue\\failed\\' . Str::studly($type);
|
|
|
|
return $this->app->invokeClass($class, [$config]);
|
|
});
|
|
}
|
|
|
|
public function boot()
|
|
{
|
|
$this->commands([
|
|
FailedJob::class,
|
|
Table::class,
|
|
FlushFailed::class,
|
|
ForgetFailed::class,
|
|
ListFailed::class,
|
|
Retry::class,
|
|
Work::class,
|
|
Restart::class,
|
|
Listen::class,
|
|
FailedTable::class,
|
|
]);
|
|
}
|
|
}
|