Как создать событие, которое работает каждые 24 часа?

Google имеет Детектор Singleton для Java, которому я верю, начался как инструмент, который должен быть выполнен на всем коде, произведенном в Google. Причина ореховой скорлупы удалить Одиночные элементы:

, потому что они могут сделать тестирование трудным и скрыть проблемы с Вашим дизайном

Для более явного объяснения, видят' , Почему Одиночные элементы Спорны ' от Google.

5
задан Newbie 14 November 2009 в 06:09
поделиться

4 ответа

CREATE EVENT cleartags
    ON SCHEDULE EVERY 24 HOUR
    DO 
      delete tags from tags left join tagowners on tags.id=tagowners.tagId
    where tagowners.tagId is null;
15
ответ дан 18 December 2019 в 08:29
поделиться

Работаете в системе Linux? Используйте cron . Я не думаю, что MySQL имеет встроенные функции для этого.

0
ответ дан 18 December 2019 в 08:29
поделиться

С cron :

mysql -uUSER -pPWD -hDB-HOSTNAME/IPADDRESS -e "delete tags from tags left join tagowners on tags.id=tagowners.tagId where tagowners.tagId is null;"
0
ответ дан 18 December 2019 в 08:29
поделиться

Если вы работаете на сервере Linux, вы можете создать cronjob, запланированную задачу, для выполнения скрипта php через исполняемый файл php. Создать задачу cron легко: выполните crontab -e через оболочку, а затем добавьте свою команду в конец файла.

Примеры записей cron взяты из http://mkaz.com/ref/unix_cron.html

#Run command at 7:00am each weekday [mon-fri]
00 07 * * 1-5 mail_pager.script 'Wake Up'

#Run command on 1st of each month, at 5:30pm
30 17 1 * * pay_rent.script

#Run command at 8:00am,10:00am and 2:00pm every day
00 8,10,14 * * * do_something.script

#Run command every 5 minutes during market hours
*/5 6-13 * * mon-fri get_stock_quote.script

#Run command every 3-hours while awake
0 7-23/3 * * * drink_water.script 

Если вы хотите запускать php-скрипт один раз в день ...

0 0 * * * /path/to/php.exe myscript.php

Помните, вы выполняете сценарий через CLI, поэтому суперглобальные объекты $ _ GET / $ _ POST / $ _ SERVER не будут существовать (это можно обойти с помощью wget) .

Если вы работаете в Windows, вы можете использовать планировщик задач Windows, чтобы сделать то же самое.

0
ответ дан 18 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: