Сохранять бит данных в реальном времени 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.
Если у вас есть сервер (автономный / vps, с доступом к оболочке), установите задание cron.
Если у вас есть доступ к cpanel, найдите настройки задания cron.