Николай С.
710 повідомлень
#16 років тому
Можно как-то запускать скрипты на виртуальном хостинге без использования cron?
Вадим Т.
3240 повідомлень
#16 років тому
Цитата ("SolNikolay"):
Можно как-то запускать скрипты на виртуальном хостинге без использования cron?

SolNikolay, если на данный хост периодически идут какие-то реквесты извне, можно в скриптах, которые эти реквесты обрабатывают, проверять необходимость запуска такого-то то скрипта (который Вы хотите запускать как бы из cron-а). Только при этом нельзя будет гарантировать, что запуск скрипта будет ровно в такое-то заданное время, как рассчитываете.

Еще хороший способ, если на Вашем сервере нет возможности использовать cron, то можно взять другой сервер, где cron есть, и написать скрипт которые будет на втором сервере запускаться с заданной периодичностью и дергать Ваш скрипт на первом хостинге.

А еще можно запускать вручную, по часам. Нанять специального человека для этого (шутка).
Удалено У.
20 повідомлень
#16 років тому
Цитата ("SolNikolay"):
Можно как-то запускать скрипты на виртуальном хостинге без использования cron?


Можно. Также как вы запускаете их при заходе на сайт, к примеру. Это, естественно, не одинственная возможная версия.
Кстати, у кого нет на своем серваке cron'а, то можно поискать халявный крон в виде сервиса. Ищите в гугле, было..
Николай С.
710 повідомлень
#16 років тому
Цитата ("sout"):
Также как вы запускаете их при заходе на сайт, к примеру.

Я про автозапуск спрашивал.
Олег Г.
45 повідомлень
#16 років тому
Найти нормальный сервер где есть cron.
Николай С.
710 повідомлень
#16 років тому
Цитата ("gashev"):
Найти нормальный сервер где есть cron.

Задача БЕЗ cron.
Олег Г.
45 повідомлень
#16 років тому
Почему не подходит cron?
Вадим Т.
3240 повідомлень
#16 років тому
Цитата ("SolNikolay"):
Я про автозапуск спрашивал.

Так и есть. Будет эмуляция автозапуска. При заходе любого реквеста будет проверяться, нужно ли запускать такой-то скрипт, настало ли время. Еали да, то производится запуск. По сути, Вы делаете свой аналог крона, и реквесты будут тем самым событием, которое пробуждает этот Ваш аналог крона к проверке "а не нужно ли что-то запустить?".

В общем, тут рецепт только один. Если нет на хосте возможности использовать крон, то нужно самому аналог реализации этого крона сделать. У меня такие задачи тоже возникали в свое время, и не раз.
Николай С.
710 повідомлень
#16 років тому
Цитата ("tvv"):
Так и есть. Будет эмуляция автозапуска. При заходе любого реквеста будет проверяться, нужно ли запускать такой-то скрипт, настало ли время. Еали да, то производится запуск. По сути, Вы делаете свой аналог крона, и реквесты будут тем самым событием, которое пробуждает этот Ваш аналог крона к проверке "а не нужно ли что-то запустить?".

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


При наличии запросов все и так понятно.

Просто у человечка есть скрипт автосбора рсс. По его утверждениям он работает без cron'а. Вот и стала интересна сия реализация
Вадим Т.
3240 повідомлень
#16 років тому
Цитата ("SolNikolay"):
Просто у человечка есть скрипт автосбора рсс. По его утверждениям он работает без cron'а. Вот и стала интересна сия реализация

SolNikolay, такое тоже возможно, если у него скрипт запущен постоянно. То есть, скрипт запущен, висит в памяти, и раз в N минут делает опрос RSS.
Алексей Б.
897 повідомлень
#16 років тому
Можно написать пару скриптов(на любом языке), которые будут выполнять друг друга каждые N секунд.
и в одном из них(если интервал < 30c) прописать условие для запуска нужного скрипта.
Олег Г.
45 повідомлень
#16 років тому
При большом кол-ве rss, наличие запросов не поможет.
Николай С.
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