anishbangalore / laravel-async-queue
Laravel 异步队列驱动程序(推送到后台)从 https://github.com/barryvdh/laravel-async-queue 克隆而来
Requires
- php: >=7
- illuminate/console: ^5.5|^6
- illuminate/support: ^5.5|^6
- symfony/process: ^3.2|^4
This package is auto-updated.
Last update: 2024-09-12 09:42:05 UTC
README
(此存储库是从 https://github.com/barryvdh/laravel-async-queue 克隆而来的)
将函数/闭包推送到后台。
对于 Laravel 5.4,请查看 0.6 分支
对于 Laravel 5.3,请查看 0.5 分支
就像 'sync' 驱动程序一样,这并不是一个真正的队列驱动程序。它总是立即执行。唯一的区别是将闭包发送到后台而不等待响应。此软件包更适用于作为运行后台意外任务的替代方案,而不需要设置“真实”的队列驱动程序。
注意:此软件包使用 DatabaseQueue,因此请确保首先设置它,包括迁移。
安装
使用 Composer 需要此软件包的最新版本
composer require anishbangalore/laravel-async-queue
将服务提供者添加到 config/app.php 文件中的 providers 数组
Anishbangalore\Queue\AsyncServiceProvider::class,
您需要创建队列迁移表并运行它。
$ php artisan queue:table
$ php artisan migrate
现在您应该可以在 config/queue.php 中使用异步驱动程序。使用与数据库相同的配置,但使用 async 作为驱动程序。
'connections' => array(
...
'async' => array(
'driver' => 'async',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
),
...
}
将默认值设置为 async
,可以通过更改配置或将 QUEUE_DRIVER
在您的 .env
文件中设置为 async
来实现。
注意:默认情况下,使用
php
作为 PHP 的二进制路径。您可以通过在队列配置中添加binary
选项来更改此设置。您还可以添加额外的参数(例如,对于 HHVM)
'connections' => array(
...
'async' => array(
'driver' => 'async',
'table' => 'jobs',
'queue' => 'default',
'expire' => 60,
'binary' => 'php',
'binary_args' => '',
),
...
}
它应该与同步驱动程序相同,因此不需要运行队列监听器。缺点是您实际上无法排队或计划事情。Queue::later() 也直接执行。有关更多信息,请参阅 https://laravel.net.cn/docs/queues