在workerman中怎么使用定时器,每秒执行一次指定类的方法

lsy
3618 1 0
1个回答

phpcreeper

要仔细看手册啊,我把手册的内容给你COPY到这儿:
6、定时函数为类的方法

use \Workerman\Worker;
use \Workerman\Lib\Timer;
require_once __DIR__ . '/Workerman/Autoloader.php';

class Mail
{
    // 注意,回调函数属性必须是public
    public function send($to, $content)
    {
        echo "send mail ...\n";
    }
}

$task = new Worker();
$task->onWorkerStart = function($task)
{
    // 10秒后发送一次邮件
    $mail = new Mail();
    $to = 'workerman@workerman.net';
    $content = 'hello workerman';
    Timer::add(10, array($mail, 'send'), array($to, $content), false);
};

// 运行worker
Worker::runAll();
  • 暂无评论
年代过于久远,无法发表回答
×
🔝