由于windows系统的原因,重复定时任务的时间间隔不能设置为30秒。
所以想着用php写一个定时任务
while(true){
$config = parse_ini_file('config.ini',true);
foreach($config as $cronName=>$info){
if(array_key_exists('log_dir',$info) && !empty($info['log_dir'])){
$outputCommon = ' 1>>'.$info['log_dir'].' 2>&1 &';
}else{
$outputCommon = '';
}
$runStatus = timeMark($info['run_time']);
if($runStatus){
$memory = convert(memory_get_usage(true));
echo '['.date('Y-m-d H:i:s').'] Task:['.$cronName."]->Is Runing Mem:".$memory."\r\n";
$handle = popen('cd '.$info['cd_dir'].'&'.$info['common'].$outputCommon,'r');
pclose($handle);
}else{
echo '['.date('Y-m-d H:i:s').']'."Waiting for a task\r\n";
}
}
sleep(1);
}
但是执行的时候,同一个时间执行两个操作会有问题
第一个操作完成后,会pclose,这样好像会把另外一个也结束掉
这个问题要怎么解决呢?求大神们帮帮忙!