php中laravel調度執行錯誤解決方法

我們說laravel框架的功能性比較明確,作為全棧框架在代碼的運行上是比較簡潔的。在對laravel框架安裝完成後,我們可以就其中的一些操作為大傢展現。本篇要帶來的是在laravel中的調度,分為兩種不同目錄的情況討論,同時把可能在調度中會出現的錯誤情況,單獨為大傢呈現並解決。

1、不在laravel根目錄(命令行操作前的地址)

php /www/wwwroot/laravel6/artisan schedule:run

/www/wwwroot/laravel/artisan 解釋

/www/wwwroot/laravel6/ 為指定到laravel根目錄的路徑

artisan 為laravel自帶的命令行工具

2、在laravel目錄下(命令行操作前的地址)

php artisan schedule:run

因為命令此時本身就已將和artisan同目錄,所以不需要再去指定artisan位置(指定也可以),直接運行上方命令即可。

3、laravel調度任務沒有執行的問題

調度任務命令如下:

$schedule->command('emails:send')->withoutOverlapping();

說明:

withoutOverlapping 這個命令的作用就是當一個進程還沒跑完,不會開啟新的進程。其機制就是開啟明亮的時候會在項目的storage/framework/cache目錄中添加一個文件,如果進程卡住或者未進行完成的時候,這個文件就會陷入死循環,一直執行該進程,等到進程執行完畢之後,會刪除相對應的緩存文件,開始下一個進程。

簡單理解就是加上withoutOverlapping 會引起阻塞,隻有完成的任務才會繼續下面的進程。

內容擴展:

解決Laravel 任務調度不執行問題

如果你按照官方手冊上的配置:

* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1

發現任務沒有按照預期的執行,可能是你環境變量問題,

按照下面的修改你的Cron任務配置即可;

* * * * * cd /path/to && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1

其中 /usr/local/bin/php 是你PHP的絕對路徑。

到此這篇關於php中laravel調度執行錯誤解決方法的文章就介紹到這瞭,更多相關php之laravel調度執行及出錯解決內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: