PHP[008]:实现延迟触发器
coding
<?php
$timeManager = [];
$timeMark = 0;
$i = 1000;
while ($i--) {
$jobTime = (time() + mt_rand(0, 1000));
echo (1000 - $i) . '个任务 将于' . date('Y-m-d H:i:s', $jobTime) . '执行' . PHP_EOL;
$timeManager[$jobTime][] = '$i 任务 ' . $i;
}
while (true) {
ksort($timeManager);
$timeMark = key($timeManager);
if (count($timeManager) > 0 && $timeMark < time()) {
var_dump($timeMark);
var_dump(date('Y-m-d H:i:s', $timeMark));
$job = $timeManager[$timeMark];
unset($timeManager[$timeMark]);
#$job = array_shift($timeManager);
} else {
sleep(1);
}
}
评论列表