выполнение задачи php каждые 24 часа

У меня есть некоторые функции, которые используют curl для извлечения информации с нескольких сайтов и вставки их в мою базу данных. Мне просто интересно, как лучше всего выполнять эту задачу каждые 24 часа?

Я запускаю windows сейчас, но, вероятно, переключусь на linux, как только я буду жить (если это имеет значение). Теперь я работаю внутри symfomy framework.

Я слышал, что cronjobs может это сделать...но глядя на сайт, кажется, что он работает удаленно, и я бы лучше просто держать вещи в доме...Могу ли я просто "запустить службу" на своем компьютере? что бы это ни значило ;) (слышала раньше)

спасибо за любую помощь, Эндрю!--1-->

4 ответов


Это точно 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. Наконец, вы запускаете