gpt4 book ai didi

laravel 反序列化/解码作业原始主体

转载 作者:行者123 更新时间:2023-12-02 18:50:52 27 4
gpt4 key购买 nike

我在这里遇到一个问题。示例自己会说话。

Queue::after(function (JobProcessed $event) {
$job_details = json_decode($event->job->getRawBody(), true);

)});

这就是 $job_details 的样子:

'displayName' => 'App\\Jobs\\CommandJob',
'job' => 'Illuminate\\Queue\\CallQueuedHandler@call',
'maxTries' => 10,
'timeout' => NULL,
'data' =>
array (
'commandName' => 'App\\Jobs\\CommandJob',
'command' => 'O:19:"App\\Jobs\\CommandJob":9:{s:32:"' . "\0" . 'App\\Jobs\\CommandJob' . "\0" . 'commandName";N;s:30:"' . "\0" . 'App\\Jobs\\CommandJob' . "\0" . 'arguments";N;s:28:"' . "\0" . 'App\\Jobs\\CommandJob' . "\0" . 'command";s:20:"google:get-campaigns";s:5:"tries";i:10;s:32:"' . "\0" . 'App\\Jobs\\CommandJob' . "\0" . 'nextCommand";a:1:{i:0;s:19:"google:get-adgroups";}s:6:"' . "\0" . '*' . "\0" . 'job";N;s:10:"connection";N;s:5:"queue";s:11:"update_data";s:5:"delay";N;}',

我想从 $job_details['data']['command'] 获取一些参数。有没有一些简单的方法可以做到这一点,或者我需要一些自制的灵魂?

最佳答案

$event->job->getRawBody 返回一个字符串,因此您不能编写 $job_details['data']['command'] 并且您将结束出现非法字符串偏移错误

我正在使用 Laravel 5.4,并且我已成功使用 $event->job->payload() 检索我的 Job 实例,然后应用 unserialize 方法根据documentation .

所以我所做的是:

    $payload = $event->job->payload();

$myJob = unserialize($payload['data']['command']);

$myJob->getMyProperty();

//... Just work with $myJob as if it were your job class

关于laravel 反序列化/解码作业原始主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45494641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com