Автозапуск скриптов
710 повідомлень
#16 років тому
Можно как-то запускать скрипты на виртуальном хостинге без использования cron?
3240 повідомлень
#16 років тому
Цитата ("SolNikolay"):Можно как-то запускать скрипты на виртуальном хостинге без использования cron?
SolNikolay, если на данный хост периодически идут какие-то реквесты извне, можно в скриптах, которые эти реквесты обрабатывают, проверять необходимость запуска такого-то то скрипта (который Вы хотите запускать как бы из cron-а). Только при этом нельзя будет гарантировать, что запуск скрипта будет ровно в такое-то заданное время, как рассчитываете.
Еще хороший способ, если на Вашем сервере нет возможности использовать cron, то можно взять другой сервер, где cron есть, и написать скрипт которые будет на втором сервере запускаться с заданной периодичностью и дергать Ваш скрипт на первом хостинге.
А еще можно запускать вручную, по часам. Нанять специального человека для этого (шутка).
20 повідомлень
#16 років тому
Цитата ("SolNikolay"):Можно как-то запускать скрипты на виртуальном хостинге без использования cron?
Можно. Также как вы запускаете их при заходе на сайт, к примеру. Это, естественно, не одинственная возможная версия.
Кстати, у кого нет на своем серваке cron'а, то можно поискать халявный крон в виде сервиса. Ищите в гугле, было..
710 повідомлень
#16 років тому
Цитата ("sout"):Также как вы запускаете их при заходе на сайт, к примеру.
Я про автозапуск спрашивал.
710 повідомлень
3240 повідомлень
#16 років тому
Цитата ("SolNikolay"):Я про автозапуск спрашивал.
Так и есть. Будет эмуляция автозапуска. При заходе любого реквеста будет проверяться, нужно ли запускать такой-то скрипт, настало ли время. Еали да, то производится запуск. По сути, Вы делаете свой аналог крона, и реквесты будут тем самым событием, которое пробуждает этот Ваш аналог крона к проверке "а не нужно ли что-то запустить?".
В общем, тут рецепт только один. Если нет на хосте возможности использовать крон, то нужно самому аналог реализации этого крона сделать. У меня такие задачи тоже возникали в свое время, и не раз.
710 повідомлень
#16 років тому
Цитата ("tvv"):Так и есть. Будет эмуляция автозапуска. При заходе любого реквеста будет проверяться, нужно ли запускать такой-то скрипт, настало ли время. Еали да, то производится запуск. По сути, Вы делаете свой аналог крона, и реквесты будут тем самым событием, которое пробуждает этот Ваш аналог крона к проверке "а не нужно ли что-то запустить?".
В общем, тут рецепт только один. Если нет на хосте возможности использовать крон, то нужно самому аналог реализации этого крона сделать. У меня такие задачи тоже возникали в свое время, и не раз.
При наличии запросов все и так понятно.
Просто у человечка есть скрипт автосбора рсс. По его утверждениям он работает без cron'а. Вот и стала интересна сия реализация
3240 повідомлень
#16 років тому
Цитата ("SolNikolay"):Просто у человечка есть скрипт автосбора рсс. По его утверждениям он работает без cron'а. Вот и стала интересна сия реализация
SolNikolay, такое тоже возможно, если у него скрипт запущен постоянно. То есть, скрипт запущен, висит в памяти, и раз в N минут делает опрос RSS.
897 повідомлень
#16 років тому
Можно написать пару скриптов(на любом языке), которые будут выполнять друг друга каждые N секунд.и в одном из них(если интервал < 30c) прописать условие для запуска нужного скрипта.
710 повідомлень
#16 років тому
Цитата ("lyoxa"):Можно написать пару скриптов(на любом языке), которые будут выполнять друг друга каждые N секунд.
и в одном из них(если интервал < 30c) прописать условие для запуска нужного скрипта.
Гм, мне вот утверждают, что на php так не получится и при вызове одного скрипта из другого по истечении 30 сек. все равно все обрубится. (это была между прочим первая идея, которая в голову пришла).
710 повідомлень
#16 років тому
Цитата ("gashev"):При большом кол-ве rss, наличие запросов не поможет.
В зависимости от их количества. Банальное скачалось/не скачалось в списке скачки.
3240 повідомлень
#16 років тому
SolNikolay, если не safe_mode, и если дает ставить set_time_limit(0), и если web сервер не настроен на принудительное убийство долгозапущенных скриптов, то не обрубится.
710 повідомлень
#16 років тому
Цитата ("tvv"):SolNikolay, если не safe_mode, и если дает ставить set_time_limit(0), и если web сервер не настроен на принудительное убийство долгозапущенных скриптов, то не обрубится.
Вадим, слишком много если.
В основном настройки стандартны на виртуальных хостах - 30 сек. на исполнение.
897 повідомлень
#16 років тому
Просто интервал поменьше и все.Если права позволяют, можно на bash.
Но его тоже сервак может рубить.
897 повідомлень
#16 років тому
А можно вообще просто, попроси знакомых с crontab'ом запускать твой скрипт get'ом
3240 повідомлень
#16 років тому
SolNikolay, тогда вместо PHP используем Perl. Хотя бы для загрузки скрипта-лоадера. И почти все проблемы сняты (если web сервер не убивает принудительно долгозапущенный скрипт, но такие установка бывают не очень часто, не путать с time_limit в PHP).lyoxa, кстати, вместо двух скриптов можно использовать один, который вызывает сам себя через system("... &" если нет safe_mode
710 повідомлень
#16 років тому
Цитата ("lyoxa"):А можно вообще просто, попроси знакомых с crontab'ом запускать твой скрипт get'ом
Да у меня на хостинге и так есть cron