Код начинается и заканчивается в определенное время

Привет, ребята, у меня есть код, который начинается и заканчивается в определенное время, мой код работает нормально, но я хочу использовать этот код в цикле данных
например, я добавлю имена в цикл и хочу, чтобы каждый начинался и заканчивался в определенное время:

это мой код:

<?php
date_default_timezone_set('America/New_York');
$time = date('Y:m:d H:i:s');
$timestart = date('Y:m:d H:i:s'); //time start
$timeend = '2016:11:17 10:56:00'; //time end

if($time >= $timeend){
echo "time end";
}else{
echo 'untel end time';
}$now = new DateTime();
$future_date = new DateTime($timeend);
$interval = $future_date->diff($now);
?>

и я хочу знать, как использовать его с данными цикла?

Благодарю.

1

Решение

Вы можете использовать расширение EV или Event или реализовать его по циклу. Я предпочитаю расширение EV для этой задачи

И создать таймер, например:

// Required create variable!
$w = new EvTimer($needWorkedSeconds, $repeatAfterSecond, function ($w) {
echo "iteration = ", Ev::iteration(), PHP_EOL;
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

Подробнее читайте здесь!

ИЛИ использовать событие (но я предпочитаю, чтобы событие работало с сокетом):

$base = new \EventBase();
$e = \Event::timer($base, function($n) use (&$e) {
echo "$n seconds elapsed\n";
if($isTimeEndNow)
{
$e->delTimer();
}
}, $repeatAfterSecond);
$e->addTimer($repeatAfterSecond);
$base->loop();

Подробнее читайте здесь!

Или вы можете попробовать время, например:

while(true)
{
if($isTimeEndNow)
{
break;
}
sleep($repeatAfterSecond);
}

В примере я использую необъявленную переменную:

$repeatAfterSecond - seconds to next iteration or next call
$isTimeEndNow - this is: time() > $endTimestamp
$needWorkedSeconds - this is seconds: time_start - time_end

Внимани !!! Быть осторожен! Я думаю, что вы ошибаетесь, если вы хотите использовать MySQL и вам нужен скрипт в конкретное время. Просмотрите свой алгоритм !!!

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector