Laravel && Lumen 的微服务 IPC 命令工厂

v2.0.0 2021-01-22 08:49 UTC

This package is auto-updated.

Last update: 2024-09-07 14:10:18 UTC


README

Build Status

关于 Preq

Preq 是一个为 Laravel && Lumen 设计的延迟和容错库,灵感来源于 Netflix 的 Hystrix 和 upwork/phystrix

安装

使用 composer 安装此包

composer require per3evere/preq --dev

添加 ServiceProvider

Laravel

将以下内容添加到 config/app.php 中的 providers 数组

Per3evere\Preq\PreqServiceProvider::class

Lumen

将以下内容添加到 bootstrap/app.php

$app->register(Per3evere\Preq\PreqServiceProvider::class);

使用

创建服务命令文件

namespace App\Services;

use Per3evere\Preq\AbstractCommand;

class Example extends AbstractCommand
{
    /**
     * 同步执行命令.
     *
     * @return void
     */
    public function run()
    {
        return 'run!';
    }

    /**
     * 异步执行命令.
     *
     * @return \Guzzlehttp\Promise\Promise;
     */
    public function runAsync()
    {
        // 返回注意返回类型.
    }
}

执行它

$command = app('preq')->getCommand(\App\Services\Example::class);

// 同步执行命令
echo $command->execute();

// 异步执行命令
$command->queue();