laravel - php artisan --queue 參數報錯!

來源:互聯網
上載者:User

報錯資訊:

回複內容:

報錯資訊:

make是建立php檔案的命令,你裡的make:command是建立一個命令列任務,比如你建立了一個命令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與listener的對應關係。在代碼中使用 event() 函數觸發一個事件,架構會根據EventServiceProvider中定義的監聽者來調用其代碼,如果監聽者是隊列的,就把它加入到隊列中。

Laravel中的事件、任務、監聽、通知都與隊列有關係。但是command(命令列)跟隊列沒關係,command可以理解為是跟在php artisan後面執行的一個命令列工具。命令列工具可以加入系統的計劃任務cron用於按照計劃時間來執行,比如每天淩晨3點重啟伺服器。Laravel提供了一種便捷的方法實現系統的cron計劃任務,在app/Console/Kernel.php中的schedule方法中寫即可。

不存在--queued選項,你是要做啥操作

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.