2013-05-23 3 views
1

Я работаю над проектом, где мне нужно каждую неделю запускать 12 разных файлов PHP. 11 из этих файлов извлекают данные, каждый с другого внешнего сайта и переформатируя его в файл XML, для моих целей. 12-й файл объединяет 11 файлов XML в главный файл XML.Проблемы с запуском нескольких заданий cron

Я изначально объединил их в один файл PHP, но это было слишком много и продолжалось тайм-аут. Они отлично работают, отделены друг от друга.

Я участвую в общем плане хостинга GoDaddy и начал настраивать задания cron для запуска этих файлов каждую ночь. Однако GoDaddy ограничивает вас до 10 cron рабочих мест.

Итак, в качестве альтернативы я разместил перенаправление заголовка в нижней части первых 10 файлов (очевидно, что последний файл не нуждается в перенаправлении), чтобы перенаправить на следующий и запустить его. Это объединяет 11 хрон рабочих мест до 1.

// On to the next 
header('Location: http://www.domain.com/secondFile.php'); 

Я не понимал, в то время, что заголовок перенаправления работают только в браузере, а не в хрон рабочих мест. Я получаю 302 Перемещено временно сообщение.

Какие еще варианты у меня есть? Есть ли переадресации, которые будет работать в cron jobs?

Любая информация предоставлена.



Благодаря помощи Barmar «s, у меня это работает. Публикация формата здесь для тех, кто имеет ту же самую проблему, на хостинге GoDaddy.

generatexml.sh

#!/bin/sh 
/web/cgi-bin/php5 /home/content/u/s/e/username/html/firstFile.php 
/web/cgi-bin/php5 /home/content/u/s/e/username/html/secondFile.php 
/web/cgi-bin/php5 /home/content/u/s/e/username/html/thirdFile.php 

т.д.

ответ

1

Выполнить один хрон, содержащий скрипт для запуска каждого из PHP скриптов:

#!/bin/sh 
php firstFile.php 
php secondFile.php 
... 
+0

Возможно, вы можете предоставить дополнительную информацию. Я никогда раньше не работал со сценариями оболочки и не знал, насколько хорошо они работают на общем хостинге. Я создал свой .sh-файл, используя формат, который вы показываете выше (используя абсолютные пути), и загрузил его. Затем я настраиваю cron для его запуска. Тем не менее, отчет показывает мне ошибку «Разрешение отказа». – Batfan

+0

У меня нет опыта работы с общедоступными услугами хостинга. Вы должны убедиться, что у сценария есть разрешения на выполнение. – Barmar

+0

Ну, я добавил разрешения на выполнение и эта ошибка исчезла. Теперь я получаю '/ bin/sh^M: плохой интерпретатор: нет такого файла или каталога'. Итак, за это (http://support.godaddy.com/help/article/3483/what-is-a-cron-job) я изменил путь. Теперь я получаю эту ошибку:/web/cgi-bin/php5^M: плохой интерпретатор: нет такого файла или каталога – Batfan

1

запустить скрипт через веб-сервер и wget.

+0

Учитывая ошибки я уже упоминал в комментариях ниже, я не совсем уверен, как настроить Wget либо , – Batfan