Laravel Horizo​​n 如何使用标签

How tags are used with Laravel Horizon

我在作业队列中的跟踪标签没有显示我期望的标签。更改为 class.

后作业未处理

我的工作示例 class 是:

class EmailUser implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * The user instance.
     *
     * @var \App\User
     */
    public $user;

    /**
     * Create a new job instance.
     *
     * @param  \App\User  $user
     * @return void
     */
    public function __construct(User  $user)
    {
        $this->user = $user;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        Mail::to('fesher@example.com')->send(new ApplicationReceivedEmail());
    }

   /**
     * Get the tags that should be assigned to the job.
     *
     * @return array
     */
    public function tags()
    {
        return ['email', 'user:'.$this->user];
    }
}

现在,在我手动标记作业之前 class 电子邮件已正常发送并且一切正常。添加标签的方法杀进程,邮件不再正常发送。

我从这里网站上的示例开始 https://laravel.com/docs/5.5/horizon#tags

有人可以帮忙吗?谢谢

您正在尝试将 Eloquent 集合连接到标记字符串,它应该类似于 nameID

变化:

    return ['email', 'user:'.$this->user];

收件人:

    return ['email', 'user:'.$this->user->id];