запускать задачу php каждые 24 часа - PullRequest
7 голосов
/ 03 февраля 2009

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

Я сейчас запускаю Windows, но, вероятно, переключусь на Linux, как только я выйду (если это будет иметь значение). Сейчас я работаю в рамках Symfomy.

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

спасибо за любую помощь, Andrew

Ответы [ 4 ]

18 голосов
/ 03 февраля 2009

Это именно то, для чего Cron (linux) или Запланированные задачи (windows)

Вы можете запустить их на своем сервере приложений, чтобы хранить все в одном месте.

Например, у меня на домашнем сервере запущен cron для ежедневного резервного копирования баз данных MySQL. В этот процесс вовлечена только одна система.

7 голосов
/ 03 февраля 2009

Добавление 0 0 * * * php /path/to/your/cronjob.php в ваш crontab должно сделать это.

1 голос
/ 03 февраля 2009

Вы можете установить запланированное задание в cron (или назначенное задание в windows). Самый простой способ - создать скрипт оболочки (пакетный скрипт в windows), который выполняет скрипт php из командной строки (благодаря этому вам не нужно использовать ресурсы www-сервера). Конечно, вы выполняете скрипт на целевой машине.

0 голосов
/ 03 февраля 2009

Если вы решите, что планировщик cron или windows не подходит, мне иногда бывает удобно написать быстрое Java-приложение, которое делает то же самое:

Вы можете использовать звонки System.getRuntime().exec("cmd line stuff here");. Затем вы можете деформировать эту операцию в TimerTask. Наконец, вы запускаете объект Timer, добавляя TimerTasks и указывая время и частоту и т. Д. *

Это явно сложнее, чем вышеупомянутые примеры, однако мне это нравится, потому что вы можете добавить некоторую интеллектуальную обработку ошибок и отправлять себе оповещения по электронной почте или тому подобное, когда что-то напортачило.

Вероятно, излишнее, но, возможно, стоит посмотреть, если у вас когда-нибудь будет несколько таких операций.

Суини

...