1、workman起进程的方式很简单,一个new Worker 是一个守护进程,子进程可以根据自己的需要启用。例子如下:
$lCreate = new Worker();
$lCreate->count = 1;
$lCreate->name = 'lCreate';
$lCreate->onWorkerStart = function($task)
{
//每60秒执行一次
$time_interval = 120;
Timer::add($time_interval, function()
{
$current_time = time();
$start_time = strtotime(date('Y-m-d 05:00:00',$current_time));
$end_time = strtotime(date('Y-m-d 06:00:00',$current_time));
if($current_time >= $start_time && $current_time <= $end_time){
$lCreate = new lCreate();
$lCreate->init();
}
});
};
2、Timer 这个定时任务其实单进程,你在同一个timer里面起n个timer,它其实是顺序执行的,所有,如果你有不同的任务需要执行,那么你依旧需要启用不同的进程;
3、在wormman里面使用redis,或者mysql一定要注意,每个子进程都要初始化自己的mysql,或者redis,在常驻内存的php中,mysql连接超时,断开之后是不会重连;
redis,也是一样。否则会连接不上。