搜尋

首頁  >  問答  >  主體

自動運行調度任務的Laravel實作方法

我是Laravel的新手,我需要在我的OTP資料庫中刪除過期的OTP,我創建了一個過期檔案並定義了所有的東西,當我使用php artisan schedule:run命令時,它運行得非常完美。

這是輸出結果:

2022-09-17 16:37:15 在后台运行 ['artisan' Otp:expire] .......................................... 7ms 完成
  ⇂ ('/usr/bin/php8.1' 'artisan' Otp:expire > '/dev/null' 2>&1 ; '/usr/bin/php8.1' 'artisan' schedule:finish "framework/schedule-7ff27dde37314470633aef84f65f27b83fd05b4e" "$?") > '/dev/null' 2>&1 &

但是當我用php artisan serve運行伺服器並添加一個OTP時,預期時間過後該OTP並沒有被刪除,只有當我使用schedule run時才會刪除。

請幫忙,謝謝!

P粉412533525P粉412533525444 天前507

全部回覆(1)我來回復

  • P粉478445671

    P粉4784456712023-09-08 10:53:42

    官方的 Laravel 文件 建議使用 cron(Cronjob 等)每分鐘執行一次 php artisan schedule:run 指令。您可以透過以下 cron 條目來實現:

    * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

    回覆
    0
  • 取消回覆