国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請教如何讓定時任務隨start.php啟動(已解決)

wocall

問題描述

按照官方教程:
http://www.wtbis.cn/doc/workerman/components/crontab.html

將其中的代碼放入一個crontab.php的文檔
如果放在根目錄,單獨執(zhí)行:
php crontab.php start
是能正常工作的

我想讓它隨著系統(tǒng)命令
php start.php restart
一起啟動,該如何做呢?

感謝

------------分割線--------------

通過官方的AI,已解決:

步驟一:新建進程文件

在 app/foo 目錄下創(chuàng)建一個新的進程文件,例如 Task.php,并在其中定義你的定時任務。例如:

<?php
namespace app\foo;

use Workerman\Crontab\Crontab;

class Task
{
public function onWorkerStart()
{
// 每秒鐘執(zhí)行一次
new Crontab('/1 ', function(){
echo date('Y-m-d H:i:s')."\n";
});
}
}

步驟二:配置進程文件隨webman啟動

接下來,打開配置文件 config/process.php,并新增如下配置以注冊你的定時任務進程:

return [
// 其它配置...

'foo_task'  => [
    'handler'  => app\foo\Task::class
],

];
注意,這里放在第一級

步驟三:重啟webman

最后,重啟webman以使配置生效。請注意,定時任務不會馬上執(zhí)行,所有定時任務將會在下一分鐘開始計時執(zhí)行。

說明

通過以上步驟,你在 app/foo 目錄下的定時任務進程會在webman啟動時自動運行。確保你的定時任務邏輯在 onWorkerStart 方法中正確實現(xiàn)。

468 1 0
1個回答

默笙

截圖
佬,按照你的配置 啟動是none 也沒執(zhí)行

<?php
declare(strict_types=1);

namespace app\admin\timer;

use Workerman\Worker;
use Workerman\Crontab\Crontab;

class Timer
{
    /**
     * 初始化定時器
     */
    public static function init()
    {
        // 設置時區(qū)
        date_default_timezone_set('PRC');

        $worker = new Worker();

        $worker->onWorkerStart = function () {
            // 每分鐘執(zhí)行一次的任務
            new Crontab('0 * * * * *', function() {
                self::minuteTask();
            });

            // 每小時執(zhí)行一次的任務
            new Crontab('0 0 * * * *', function() {
                self::hourlyTask();
            });

            // 每天凌晨執(zhí)行的任務
            new Crontab('0 0 0 * * *', function() {
                self::dailyTask();
            });
        };

        Worker::runAll();
    }

    /**
     * 每分鐘執(zhí)行的任務
     */
    protected static function minuteTask()
    {
        try {
            // 在這里添加每分鐘需要執(zhí)行的任務
            echo date('Y-m-d H:i:s') . " - 執(zhí)行每分鐘任務\n";
        } catch (\Exception $e) {
            echo date('Y-m-d H:i:s') . " - 每分鐘任務執(zhí)行失敗: " . $e->getMessage() . "\n";
        }
    }

    /**
     * 每小時執(zhí)行的任務
     */
    protected static function hourlyTask()
    {
        try {
            // 在這里添加每小時需要執(zhí)行的任務
            echo date('Y-m-d H:i:s') . " - 執(zhí)行每小時任務\n";
        } catch (\Exception $e) {
            echo date('Y-m-d H:i:s') . " - 每小時任務執(zhí)行失敗: " . $e->getMessage() . "\n";
        }
    }

    /**
     * 每天執(zhí)行的任務
     */
    protected static function dailyTask()
    {
        try {
            // 在這里添加每天需要執(zhí)行的任務
            echo date('Y-m-d H:i:s') . " - 執(zhí)行每日任務\n";
        } catch (\Exception $e) {
            echo date('Y-m-d H:i:s') . " - 每日任務執(zhí)行失敗: " . $e->getMessage() . "\n";
        }
    }
} 
  • 暫無評論
??