запуск задачи php каждые 24 часа
У меня есть некоторые функции, которые используют curl для извлечения информации с нескольких сайтов и вставки их в мою базу данных. Мне просто интересно, как лучше всего выполнять эту задачу каждые 24 часа?
Сейчас я отключаюсь от Windows, но, вероятно, переключусь на linux, как только буду жить (если это имеет значение). Сейчас я работаю в рамках symfomy.
Я слышал, что закадычные друзья могут это сделать... но, глядя на сайт, кажется, что он работает удаленно, и я бы предпочел просто держите вещи в доме...Могу ли я просто "запустить службу" на своем компьютере? что бы это ни значило;) (слышал, как это используется)
Спасибо за любую помощь, Эндрю
4 answers
Это именно то, для чего Cron (linux) или Запланированные задачи (windows).
Вы можете запустить их на своем сервере приложений, чтобы все было в одном месте.
Например, у меня на домашнем сервере запущен cron для ежедневного резервного копирования баз данных MySQL. В этом процессе задействована только одна система.
Добавление 0 0 * * * php /path/to/your/cronjob.php
в ваш crontab должно выполнить это.
Вы можете установить запланированную задачу в cron (или запланированную задачу в Windows). Самый простой способ - создать сценарий оболочки (пакетный сценарий в Windows), который выполняет php-скрипт из командной строки (благодаря этому вам не нужно использовать ресурсы www-сервера). Конечно, вы выполняете сценарий на целевой машине.
Если для чего бы вы ни решили, что cron или планировщик Windows не подходят, я иногда нахожу удобным написать быстрое приложение Java, которое делает то же самое:
Вы можете использовать вызовы System.getRuntime().exec("cmd line stuff here");
. Затем вы можете исказить эту операцию в TimerTask
. Наконец, вы запускаете объект Timer
, добавляя временные задачи и указывая время и частоту и т.д...
Это явно сложнее, чем вышеупомянутые примеры, однако мне это нравится, потому что вы можете добавить некоторые интеллектуальная обработка ошибок и отправка предупреждений по электронной почте или тому подобное, когда что-то не так.
Вероятно, излишне, но, возможно, стоит посмотреть, если вам когда-нибудь придется иметь дело с несколькими такими операциями.
Суини