Как осуществить выполнение php-скрипта многократно?
Здравствуйте!
Так я еще не совсем понимаю всех тонкостей работы с PHP, поэтому задаю такой вопрос!
Написал скрипт, который работает с датой, а именно с годом!
Соответственно, после его выполнения требуется, чтобы он выполнялся повторно и ставил другую дату, например, первый раз 2013, последующие - 1 год.
Отсюда - как вообще можно выполнить данную задачу, помимо использования CRON?
мне кажется, что это:
а) не дает гарантии, что скрипты выполнятся последовательно.
б) через жопу.
в) противоречит условию задачи ("помимо использования CRON"(с)).
Почему нет гарантии?
Почему через Ж?
Противоречий нет, вопрос был как выполнить здание, как стало очевидно на php, слишком много памяти уйдет! Отсюда и Perl!
а) Их нет по тому что их нет... вы где-то проверяете, что год 2010 нормально отработался прежде, чем делать по 2009? Нигде. Поэтому нет гарантий. wget может упасть посередине цикла с "too many connections" и пропустить пару лет. Никто не узнает.
2) По тому что вы безосновательно увеличили стек технологий (crontab->perl->wget->php->...)
3) можно так же дергать cron-ом php-скрипт раз в минуту, а после заверешения скрипта складывать отработанный год куда-то (хоть в файлик на диске, хоть к memcache, хоть в базу данных), а в следующий раз начинать опять с него. Только надо еще блокировку сделать чтобы два раза один и тот же год не обрабатывать. Или посмотреть готовые решения с очередью задач. Но мне кажется вам бы вполне хватило бы цикла по годам внутри файла. Если вы там не делаете здоровенные excel-отчеты =)
Без обид, оставьте как есть если все работает и вас устраивает. Это главное. Нет такого понятия как "правильно")
>> как стало очевидно на php, слишком много памяти уйдет!
А где очевидность? Утечка память очень часто зависит от прямоты рук разработчика. На любом ЯП можно всю память выжрать. Запускай с каждым циклом сборщик, память будет держаться ровно.
возможно я просто не разобрался в вопросе:)
И мне не совсем понятно, что вы там реализуете.
Возможно, если постараетесь подробнее описать проблему - смогу помочь
В целом нужно менять дату после выполнения скрипта, те изначнально запускается с параметром год 2013, после выполнения ставим 2012 и запускаем его еще раз и так далее!
Всего годов будет около 60!