2016-10-19 9 views
0

Laravelの失敗ジョブのペイロードをデコードして "あらかじめ"私はこのような読み込みコラムペイロード持つテーブルfailed_jobsの私のDBにLaravelが失敗したジョブをうまくデコードするにはどうすればいいですか?JSON

{"job":"Illuminate\\Queue\\[email protected]","data":{"commandName":"App\\Jobs\\createHostingOncPanel","command":"O:30:\"App\\Jobs\\createHostingOncPanel\":7:{s:10:\"\u0000*\u0000orderNo\";i:11;s:18:\"\u0000*\u0000hostingPackages\";s:45:\"[{\"domainName\":\"qwddqwd.io\",\"hostingType\":1}]\";s:7:\"\u0000*\u0000user\";O:45:\"Illuminate\\Contracts\\Database\\ModelIdentifier\":2:{s:5:\"class\";s:8:\"App\\User\";s:2:\"id\";i:1;}s:10:\"connection\";N;s:5:\"queue\";N;s:5:\"delay\";N;s:6:\"\u0000*\u0000job\";N;}"}} 

は、文字列、JSONは読みやすい何かにデコードを取得したいと思います。

これはどのような形式ですか? :)

PS:これはLaravel 5.2バージョン

+2

アンシリアライズfailed_jobsテーブル

$jsonpayload = json_decode($payload); 

からペイロード:JSON。 json_decode()を使用し、そのjson内でphser serialize()データ構造があるように見えますが、それ自体unserialized()する必要があります –

答えて

3

読む

json_decodeそれがどのような形式がすでに言ったペイロードコマンド

$data = unserialize($jsonpayload->data->command); 
print_r($data);//This is the data passed to queue 
1

私はそれが、起こるように、イベントを処理して、あなたがあなた自身の方法で必要なすべてのデータを格納するお勧めしたいです。 https://laravel.com/docs/master/queues#failed-job-events

をそれとも、仕事自体にfailed()機能を使用することができます:あなたはすべて失敗したジョブをキャプチャするために失敗したジョブのイベントを使用することができますhttps://laravel.com/docs/master/queues#dealing-with-failed-jobs

それ以外の場合は、マークさんのコメントが私には意味をなさないように思われます。 failed_jobsテーブルから

+0

AppServiceProviderから失敗したジョブをインターセプトしようとしました。 – boomdrak

+0

ダミー入力: 文字列(320) "O:30:" App \ Jobs \ createHostingOncPanel ":7:{s:10:" \ 000 * \ 000orderNo "; i:18; s: 18: "\ 000 * \ 000hostingPackages"; s:47: "[{" domainName ":" fireman21.nu "、" hostingType ":3}]"; s:7: "\ 000 * \ 000user"; O: 45: "Illuminate \ Contracts \ Database \ ModelIdentifier":2:{s:5: "class" ; s:8: "App \ User"; s:2: "id"; i:1;} s:10 :N:s:5:遅延:N:s:6: "\ 000 * \ 000job"; N;} " また、json_decodeと運がない、行き詰まりを解きなさい – boomdrak

関連する問題