【问题标题】:Laravel 5.4 Unserialize payloadLaravel 5.4 反序列化有效负载
【发布时间】:2017-05-24 15:59:20
【问题描述】:

如何从失败的作业中反序列化有效负载? 这是我的情况:

我想跟踪失败的作业,并通知用户...为此我使用这个 sn-p:

Queue::failing(function (JobFailed $event) {
            // $event->connectionName
            // $event->job
            // $event->exception
            LoggerFacade::addAlert("Error".$event->job->getRawBody());
        });

效果很好,但我无法获取我的元数据,例如提要 ID。

序列化后的数据如下:

 $json = '{"displayName":"Illuminate\\Foundation\\Console\\QueuedCommand","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":null,"timeout":null,"data":{"commandName":"Illuminate\\Foundation\\Console\\QueuedCommand","command":"O:43:\"Illuminate\\Foundation\\Console\\QueuedCommand\":1:{s:7:\"\u0000*\u0000data\";a:2:{i:0;s:11:\"import:feed\";i:1;a:1:{s:7:\"feed_id\";s:1:\"4\";}}}"}}';

我需要这部分

import:feed\";i:1;a:1:{s:7:\"feed_id\";s:1:\"4\";}}}

这个dd(unserialize($json)); 不起作用。

【问题讨论】:

    标签: laravel queue jobs


    【解决方案1】:

    先尝试做json解码

     $json = json_decode($json);
     $data = unserialize($json['data']['command']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-22
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      相关资源
      最近更新 更多