LaravelでJobをキューに追加する

PHPフレームワークの雄であるLaravelで、非同期処理をJobで書いた後、動作確認を行いたいときがある。その場合、賢い皆様はテストコードを書いたり、ダミーのコントローラーを書いたりするのだろうが、いずれも面倒だ。今回は、Jobを対話的シェルのtinkerで実行する方法を紹介する。

$ php artisan tinker
Psy Shell v0.9.6 (PHP 7.1.7 — cli) by Justin Hileman
 >>> Bus::dispatch(new \App\Jobs\ InvoiceEmail());
=> 58
 >>> exit
Exit:  Goodbye
$ php artisan queue:listen
[2018-06-21 19:08:46] Processing: App\Jobs\ReceivedMail
[2018-06-21 19:08:46] Processed:  App\Jobs\ReceivedMail
^C