我有一个项目设置与rabbitmq,它的工作发送消息,也接收消息从laravel到laravel使用默认的作业处理程序提供的包
'job' => VladimirYuldashev\LaravelQueueRabbitMQ\Queue\Jobs\RabbitMQJob::class,
但是我想从python甚至从rabbitmq Jmeter 板本身接收消息,
因此,我配置了作业处理程序
'job' => \App\Jobs\RabbitMQJob::class,
use VladimirYuldashev\LaravelQueueRabbitMQ\Queue\Jobs\RabbitMQJob as BaseJob;
class RabbitMQJob extends BaseJob
{
/**
* Fire the job.
*
* @return void
*/
public function fire()
{
$payload = $this->payload();
Log::notice($payload);
$class = HandlePythonResponse::class;
$method = 'handle';
($this->instance = $this->resolve($class))->{$method}($this, $payload);
$this->delete();
}
}
每次我向此应用程序发送消息时,都会收到以下错误
[2022-04-28 12:01:33] local.ERROR: Trying to access array offset on value of type null {"exception":"[object] (ErrorException(code: 0): Trying to access array offset on value of type null at /Users/angwamosees/Documents/moses/app1/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php:315)
请问有没有人知道为什么rabbit mq会发送空消息
1条答案
按热度按时间pgky5nke1#
在努力调试问题所在之后,我了解到从rabbitmq传递到laravel的数据格式必须是JSON格式。并且必须将job和uuid作为有效负载的一部分。我希望这对以后的人有所帮助。格式如下所示