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

在php-fpm環(huán)境(非workerman環(huán)境)內(nèi),如何創(chuàng)建常駐內(nèi)存的定時器

evilk

問題描述

  1. 在一個PHP-FPM項目中,需要使用一個定時器,每10秒執(zhí)行一些任務(wù)
  2. 寫了一個PHP腳本,在終端執(zhí)行,關(guān)閉終端后,就不再執(zhí)行了
  3. workerman的timer似乎只能在workerman環(huán)境中使用

為此你搜索到了哪些方案及不適用的原因

目前我的做法是

  1. 使用symfony/process
  2. 再配合reactPHP
  3. 新建一個process.php,內(nèi)容如下
    try {
    $process = new \Symfony\Component\Process\Process(['php', 'react-php-test.php']);
    $process->setOptions(['create_new_console' => true]);
    $process->start();
    echo $process->getPid();
    } catch (Throwable $throwable) {
    echo $throwable->getMessage();
    }
  4. react-php-test.php,內(nèi)容如下
    $loop = React\EventLoop\Loop::get();
    // 創(chuàng)建一個定時器,每3秒執(zhí)行一次,寫入文件
    $loop->addPeriodicTimer(3, function () {
    file_put_contents('debug.txt', 'test' . PHP_EOL, FILE_APPEND);
    });
    $loop->run();
  5. 在命令行,手動執(zhí)行php process.php,執(zhí)行后,可關(guān)閉當前終端,會看到文件中,每3秒會寫入'test'字符串
1189 3 1
3個回答

nitron

1.自己寫CLI
2.另外裝個workerman跑

FPM的運行機制跟常駐內(nèi)存基本絕緣

  • 暫無評論
釋永戰(zhàn)

FPM就別想了·····

  • 暫無評論
meows

fpm 要么用laravel的包,要么就linux Crontab

  • nitron 2023-11-03

    他要每10秒執(zhí)行, crontab的最小間隔是分鐘,雖然可以用別的方式取巧,但不是很靠譜

年代過于久遠,無法發(fā)表回答
??