Laravel Job-在每个作业开始和失败时执行命令的最佳方法

时间:2019-05-04 22:02:45

标签: php laravel laravel-queue

我有一段代码将用户(传递到工作构造器中)并通过网络套接字通知用户工作状态。

实际上是需要在handle方法的开头(作业开始之前),在handle方法的末尾(作业完成之后),然后在fail方法中添加的一行。

除了手动将其添加到每个作业之外,执行此操作的最佳方法是什么?诸如特质,中间件之类的东西,但我认为这些都不起作用。

1 个答案:

答案 0 :(得分:0)

一种方法可以扩展作业/命令类,例如:

class MyJob extends Job {
    public function handle() {
    try {
        do_stuff_at_start();
        $this->process();
    } catch (Exception $e) {
        do_stuff_when_fails();
    }
    abstract public function process();
}

,您的所有工作都可以实现负责处理逻辑的process()方法。只是一个宽松的想法-不确定是否适合您的需求。