maxzhang666 / laravel-nsq
此包的最新版本(dev-master)没有可用的许可信息。
Laravel NSQ
dev-master
2023-06-20 07:37 UTC
Requires
- php: ^8.0
- laravel/framework: 6.*|7.*|8.*
- merkeleon/phpnsq: ^1.0
Requires (Dev)
- phpunit/phpunit: >=7.0
This package is auto-updated.
Last update: 2024-09-20 10:08:58 UTC
README
使用 Laravel API 的 Laravel 包,用于 NSQ 队列管理器
依赖函数
pcntl_sigprocmask
安装
首先,使用 Composer 需求此包
composer require merkeleon/laravel-nsq
- 如 Laravel 手册所述,添加新的队列任务
php artisan make:job <JobName>
按照 Laravel 规则编辑此文件
- 将队列驱动设置为 NSQ
QUEUE_DRIVER=nsq
- 设置 NSQ 服务器环境选项
NSQSD_URL=127.0.0.1:4150
Nsq 守护进程的 IP 和端口
NSQLOOKUP_URL=127.0.0.1:4161
Nsq 查找守护进程的 IP 和端口
如果需要使用多个服务器,请使用逗号分隔符
NSQSD_URL=127.0.0.1:4150,127.0.0.1:4151,127.0.0.1:4152
示例
作业类
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Config;
class CoolJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function __construct(...$args)
{
$this->queue = 'my-cool-jobs';
// $args code
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
// do the job
}
}
代码某处
<?php
... code ...
// Push timed task in the queue
CoolJob::dispatch(...$any_args);
... code ...