2010-05-27 4 views
0

Нам нужно создать скрипт (ajax или php или javascript), который очистит некоторые таблицы из нашей базы данных в определенное время.Временное планирование Очистка базы данных Mysql

Мы не можем использовать такие серверные функции, как вкладка Cron или другие.

Любые предложения ??? Спасибо

+1

Возникает вопрос о том, как запускать запланированные задачи без cron или как очищать базу данных? – webbiedave

+0

Да, о том, как запускать запланированные задачи без cron. – zizzamia

ответ

1

Вы можете сделать бедного mans CRON, привязав задачу, которую вам нужно выполнить, к другому сценарию, который запускается человеческим взаимодействием. Так, например, когда foo.php выполняется, он вызывает cron.php (синхронно или асинхронно). Чтобы ограничить, как часто выполняется cron.php (предотвращая чрезмерные прогоны), вы можете сохранить последнюю метку времени и сравнить ее на определенный интервал (скажем, каждые 600 секунд).

Все это, конечно, предполагает, что люди посещают ваш сайт.

2

Есть некоторые услуги, которые позволяют вам планировать запрос для указанного URL удаленно (в основном, позволяя другому серверу запускать задание cron в указанное время, вызывая скрипт на вашем интернет-доступном сервере) таких как SetCronJob.com, среди прочих (Google for "web cron service").

Если вы имеете дело с сервером, который недоступен из Интернета (то есть в локальной сети), то это решение не подходит.

0

Javascript, если вы не против открывать эту веб-страницу 24x7: используйте setTimeout на загрузку страницы, чтобы подождать до определенного произвольного времени позже в течение дня, когда вы выполняете очистку, затем звоните setInterval. setInterval будет изначально вызывать и регулярно повторять xmlhttprequest или просто обновлять страницу, используя get или post для передачи параметров скрипту PHP за собой.

Возможно, вы захотите вместо этого переместить реальное задание Cron в другую систему внутри сети, чтобы удаленно открыть вашу страницу PHP, даже настроив ее на планировщик заданий вашей собственной системы (если есть) или Cron (если есть) быть.

Смежные вопросы