Сохранять бит данных в реальном времени 4 раза в день с помощью php без участия человека

Мы создаем приложение, которое использует данные из API. Мы не хотим обрабатывать все эти данные, потому что их слишком много. Мы хотим захватить данные 4 раза в день. Поэтому нам нужен php-скрипт, который сохраняет это в базу данных без кнопки или помощи человека.

Мы знаем, как получить данные, и понимаем, как загрузить их в базу данных. Мы не знаем, как это сделать по времени и возможно ли это вообще.

Мы пытались сделать это с помощью этого кода, но страница должна быть обновлена ​​до эха.

if (date('His') == 114300) {
  echo date('His');
}

3 ответа

Решение

Скрипт PHP запускается только тогда, когда он вызывается через запрос из браузера или другого клиента, или когда запускается через командную строку.

Теоретически вы можете создать сценарий с бесконечным временем выполнения и запустить его. Сценарий должен будет проверить время сервера и сделать запросы. Проблема заключается в том, что он остановится, если сервер перезапустится, и т. Д. Это также крайне неэффективно.

Просто вызывайте свой сценарий cronjob, четыре раза в день, например, так:

0 */6 * * * curl -k http://example.com/download.php >/dev/null 2>&1

/6 значит каждые шесть часов. curl Команда вызывает скрипт и >/dev/null отбрасывает вывод.

Лучший способ сделать это - создать работу cron, которая запускается 4 раза в день.

0  13,14,15,16  *       *       *       /usr/bin/php path/to/cron.php &> /dev/null

Ваш путь к / c /cron.php будет запущен в 13:00, 14:00, 15:00 и 16:00.

http://www.thegeekstuff.com/2011/07/php-cron-job/

Если у вас есть сервер (автономный / vps, с доступом к оболочке), установите задание cron.

Если у вас есть доступ к cpanel, найдите настройки задания cron.

Другие вопросы по тегам