1.建立任務執行檔案
command php artisan make:command TestTask
會在app\console\Commands 下生成 TestTask.php
2.編輯任務執行檔案
class TestTask extends Command
{
protected $signature = 'b5net:test';//命令名,自己隨意寫
protected $description = '測試任務';//命令描述
public function __construct()
{
parent::__construct();
}
public function handle()
{ //執行的邏輯
file_put_contents('aaa.txt',date('Y-m-d H:i:s').'/r/n',FILE_APPEND);
}
}
3.在app\Console\Kernel.php中引入和設定執行間隔
protected $commands = [
\App\Console\Commands\TestTask::class //引入命令類
];
protected function schedule(Schedule $schedule)
{
$schedule->command('b5net:test')->everyFiveMinutes();//每5分鐘執行一次,這裡的5分鐘,在window設定計劃任務時,要把開始分鐘數設為5的倍數
}
4.新增伺服器的計劃任務
linux下使用crontab:自己百度命令
crontab ***** php artisan schedule:run > /dev/null 2>&1
windows下
1.建立xxx.bat檔案,內容如下
cd /d D:\Apro_php\b5laravelcmf\ 專案的絕對路徑
php artisan schedule:run > NUL 2>&1
2.建立.vbs檔案,內容如下
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c D:\Apro_php\b5laravelcmf\public\xxx.bat",vbhide
裡面的D:\Apro_php\b5laravelcmf\public\xxx.bat為第一步建立的xxx.bat檔案的路徑。之所以建立.vbs檔案,是定時執行.bat檔案時會彈出dos介面,執行.vbs是後臺靜默執行
3.找到任務計劃程式建立計劃任務
注意這裡的1分鐘是選擇了5分鐘,然後手動刪除5自己寫上的1
本作品採用《CC 協議》,轉載必須註明作者和本文連結