報錯訊息:
報錯訊息:
make
是建立php檔案的命令,你截圖裡的make:command
是建立一個命令列任務,例如你建立了一個指令test
,就可以在命令列執行php artisan test
test
php artisan test 來執行這個test 任務。
用於佇列執行的任務一般用 "Job" ,透過
php artisan make:job 建立一個job類,然後在程式碼中用
dispatch(new FooJob) 來執行這個任務。如果需要這個job在佇列(queue)中執行(非同步),job類別實作
ShouldQueue
即可。把job加到queue中後,這個佇列queue本身也是要啟動的,才能保證加進去的job可以照計畫執行,啟動佇列用
php artisan queue:work
https://laravel.com/docs/5.3/...中文:https://laravel-china.org/doc...
建立事件(event)監聽者(listener)檔案時可以加上參數
queued 用來標記這個listener需要在佇列中非同步執行,例如
php artisan make:listener Foobar --queued, 在
EventServiceProvider
event() 函數觸發事件,框架會根據EventServiceProvider中定義的監聽者來呼叫其程式碼,如果監聽者是佇列的,就把它加入佇列。
Laravel中的事件、任務、監聽、通知都與佇列有關係。但是command(命令列)跟佇列沒關係,command可以理解為是跟在
php artisan後面執行的一個命令列工具。命令列工具可以加入系統的排程任務cron用於依照計畫時間來執行,例如每天凌晨3點重新啟動伺服器。 Laravel提供了一個便捷的方法實現系統的cron計劃任務,在
app/Console/Kernel.php
schedule
方法中寫即可。
🎜 🎜不存在--queued選項,你是要做啥操作🎜