Всем добрый вечер. Запускаю скрипт через cron каждую минуту. За эту минуту нужно сделать несколько операций с разрывом в 10 сек.
Делаю это так
set_time_limit(60);
while(true) {
echo "Test";
sleep(10);
echo "Test";
}
Но почему то сообщение выводиться только 1 раз. Что делаю не так?
Нужно понимать, что set_time_limit относится не к реальному времени, а к времени работы самого php. sleep и другие операции ввода-вывода не считаются.
Предлагаю более точный подход:
$start = microtime(true); // засекаем время начала
do {
doSomething(); // вызов вашей функции
sleep(10);
} while (microtime(true) - $start < 60); // прошла ли минута?
В остальном, нужно дебажить скрипт в отрыве от крона, корректно обрабатывать ошибки - возможно сервисы, к которым вы обращаетесь, ограничивают рейт обращений.
Запуск крона каждые 15 секунд:
* * * * * your_script
* * * * * sleep 15; your_script
* * * * * sleep 30; your_script
* * * * * sleep 45; your_script
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Только изучаю PHP, не судите стого :) Сделал простую форму:
Добрый день, есть сайт на wordpressИспользуется php код цен, надо было поменять местами цифры и символ валюты, но в итоге убрались пробелы
Привет, уже сто лет пользуюсь Zend v1, и сейчас стоит вопрос - надо ли переходить на новый фреймворк, ведь Zend v1 уже не имеет полной поддержкиНачал...