У меня есть работа cron:
1 0 * * * /usr/bin/wget -q -O /dev/null 'http://123.456.78.90/index/parsedata?&today=1'
Он должен собирать кучу данных из БД в 00:01 каждый день, организовывать их для использования нашим приложением в виде графиков и дисплеев, а затем делать это.
Иногда некоторые графики не обрабатываются, так как не показывают результатов в течение некоторого периода времени. Запуск команды вручную приведет к тому, что они получат правильные данные.
Таким образом, кажется, cron является частью проблемы. Либо cron не запускает это, не соответствует действительности, поскольку я вижу, что большинство записей отображают ожидаемые данные графика, или, возможно, cron не завершает работу? Я не знаю, где искать, поскольку я чувствовал, что, так как ручной запуск вышеуказанной строки сценария работает, почему он не будет работать таким же образом, когда я установил для этого cron? Есть идеи?
Существует еще одно задание cron, которое выполняется каждые 5 минут на одном и том же сервере с использованием того же кода:
*/5 * * * * /usr/bin/wget -q -O /dev/null http://123.456.78.90/index/parsedata
Возможно ли, что первый запуск занимает слишком много времени и все еще обрабатывается, когда запускается этот скрипт, который запускается каждые 5 минут, и это портит ситуацию? Выполнение первого сценария может занять более 5 минут, поэтому второй экземпляр может быть запущен, пока первый находится в процессе обработки. Они оба используют одно и то же действие parsedata() в нашей среде и записывают в одну и ту же базу данных. Может быть? Любые идеи приветствуются.