Laravel队列触发器未推送有效负载和作业数据

时间:2019-07-25 10:09:36

标签: php laravel queue

我在Laravel中使用以下代码来触发作业,该作业位于不同的代码库中。

<?php

use Illuminate\Queue\Capsule\Manager;

/**
 * Class TriggerJob
 *
 */
class TriggerJob
{
    /**
     * Queue manager.
     *
     * @var Manager
     */
    private $queue;

    /**
     * @var $connection
     */
    private $connection;

    /**
     * @var $queueName
     */
    private $queueName;

    /**
     * TriggerJob constructor.
     *
     * @param Manager $queue
     */
    public function __construct(Manager $queue)
    {
        $this->queue      = $queue;
        $this->queueName  = 'default';
        $this->connection = 'beanstalkd';

        $this->setUpConnection();
    }

    /**
     * @return mixed
     * @return mixed
     */
    public function trigger()
    {
        return $this
            ->queue
            ->getConnection($this->connection)
            ->push('Job', ['payload'=>'message'], $this->queueName);
    }

    /**
     * To setup connection
     */
    private function setUpConnection()
    {
        $container = $this->queue->getContainer();
        $container['config']['queue.default'] = env('QUEUE_DRIVER');
        $this->queue->setContainer($container);
    }
}

当我调用trigger()函数时,可以在Beanstalk控制台中看到创建了一个作业。但是该作业没有任何作业数据。相同的代码可在Laravel 5.4中使用,但不适用于Laravel 5.8

enter image description here

0 个答案:

没有答案