Laravel Zero 集成 Gateway Worker

由于最近想写一个新项目,打算依靠 Gateway Worker分布式部署以及 Laravel 的生态。

我的需求是只需要部署 Business Worker,不需要 Gateway 以及 Register。

依赖安装

首先,我们得安装 Gateway Worker。

composer require workerman/gateway-worker
composer require workerman/gatewayclient

gateway-worker 是 Gateway Worker 本体,Gateway client 是用于连接 Gateway worker 的。

至于为何要连接,那是在 Event 事件之外处理时,需要连接到 Gateway worker 来执行操作。比如队列中给用户发送消息(本示例中并没有用到)。

创建命令

这里我将创建一个 Worker 命令。

php application make:command WorkerCommand

随后编辑该文件。

<?php

namespace App\Commands;

use Workerman\Worker;
use GatewayWorker\BusinessWorker;
use LaravelZero\Framework\Commands\Command;

class WorkerCommand extends Command
{
    /**
     * The signature of the command.
     *
     * @var string
     */
    protected $signature = 'worker {action=start} {--daemon}';

    /**
     * The description of the command.
     *
     * @var string
     */
    protected $description = '启动 Gateway Business Worker';

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        global $argv;

        if (!in_array($action = $this->argument('action'), ['start', 'stop', 'restart'])) {
            $this->error('Error Arguments');

            return Command::FAILURE;
        }
        $argv[0] = 'worker';
        $argv[1] = $action;
        $argv[2] = $this->option('daemon') ? '-d' : '';

        $this->startBusinessWorker();
    }

    private function startBusinessWorker()
    {
        $worker                  = new BusinessWorker();
        $worker->name            = 'BusinessWorker';
        $worker->count           = 2;
        $worker->registerAddress = '127.0.0.1:1236'; // Register 的地址,注意修改
        $worker->eventHandler    = \App\GatewayWorker\Events::class; // 你的 Event 类

        Worker::runAll();
    }

}

启动

php application worker

可用参数

这个命令中,我们可以使用以下参数。

php application worker start // 启动
php application worker stop // 停止
php application worker reload // 重载
php application worker start -d // 以 daemon 模式运行。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇