Гость
710 сообщений
#18 лет назад
Можно как-то запускать скрипты на виртуальном хостинге без использования cron?
Вадим Т.
3240 сообщений
#18 лет назад
[quote="SolNikolay"]Можно как-то запускать скрипты на виртуальном хостинге без использования cron?[/quote]
SolNikolay, если на данный хост периодически идут какие-то реквесты извне, можно в скриптах, которые эти реквесты обрабатывают, проверять необходимость запуска такого-то то скрипта (который Вы хотите запускать как бы из cron-а). Только при этом нельзя будет гарантировать, что запуск скрипта будет ровно в такое-то заданное время, как рассчитываете.

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

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

Можно. Также как вы запускаете их при заходе на сайт, к примеру. Это, естественно, не одинственная возможная версия.
Кстати, у кого нет на своем серваке cron'а, то можно поискать халявный крон в виде сервиса. Ищите в гугле, было..
Гость
710 сообщений
#18 лет назад
[quote="sout"]Также как вы запускаете их при заходе на сайт, к примеру.[/quote]
Я про автозапуск спрашивал.
Олег Г.
45 сообщений
#18 лет назад
Найти нормальный сервер где есть cron.
Гость
710 сообщений
#18 лет назад
[quote="gashev"]Найти нормальный сервер где есть cron.[/quote]
Задача БЕЗ cron.
Олег Г.
45 сообщений
#18 лет назад
Почему не подходит cron?
Вадим Т.
3240 сообщений
#18 лет назад
[quote="SolNikolay"]Я про автозапуск спрашивал. [/quote]
Так и есть. Будет эмуляция автозапуска. При заходе любого реквеста будет проверяться, нужно ли запускать такой-то скрипт, настало ли время. Еали да, то производится запуск. По сути, Вы делаете свой аналог крона, и реквесты будут тем самым событием, которое пробуждает этот Ваш аналог крона к проверке "а не нужно ли что-то запустить?".

В общем, тут рецепт только один. Если нет на хосте возможности использовать крон, то нужно самому аналог реализации этого крона сделать. У меня такие задачи тоже возникали в свое время, и не раз.
Гость
710 сообщений
#18 лет назад
[quote="tvv"]Так и есть. Будет эмуляция автозапуска. При заходе любого реквеста будет проверяться, нужно ли запускать такой-то скрипт, настало ли время. Еали да, то производится запуск. По сути, Вы делаете свой аналог крона, и реквесты будут тем самым событием, которое пробуждает этот Ваш аналог крона к проверке "а не нужно ли что-то запустить?".

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

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

Просто у человечка есть скрипт автосбора рсс. По его утверждениям он работает без cron'а. Вот и стала интересна сия реализация
Вадим Т.
3240 сообщений
#18 лет назад
[quote="SolNikolay"]Просто у человечка есть скрипт автосбора рсс. По его утверждениям он работает без cron'а. Вот и стала интересна сия реализация [/quote]
SolNikolay, такое тоже возможно, если у него скрипт запущен постоянно. То есть, скрипт запущен, висит в памяти, и раз в N минут делает опрос RSS.
Алексей Б.
897 сообщений
#18 лет назад
Можно написать пару скриптов(на любом языке), которые будут выполнять друг друга каждые N секунд.
и в одном из них(если интервал < 30c) прописать условие для запуска нужного скрипта.
Олег Г.
45 сообщений
#18 лет назад
При большом кол-ве rss, наличие запросов не поможет.
Гость
710 сообщений
#18 лет назад
[quote="lyoxa"]Можно написать пару скриптов(на любом языке), которые будут выполнять друг друга каждые N секунд.
и в одном из них(если интервал < 30c) прописать условие для запуска нужного скрипта.[/quote]
Гм, мне вот утверждают, что на php так не получится и при вызове одного скрипта из другого по истечении 30 сек. все равно все обрубится. (это была между прочим первая идея, которая в голову пришла).
Гость
710 сообщений
#18 лет назад
[quote="gashev"]При большом кол-ве rss, наличие запросов не поможет.[/quote]
В зависимости от их количества. Банальное скачалось/не скачалось в списке скачки.
Вадим Т.
3240 сообщений
#18 лет назад
SolNikolay, если не safe_mode, и если дает ставить set_time_limit(0), и если web сервер не настроен на принудительное убийство долгозапущенных скриптов, то не обрубится.
Гость
710 сообщений
#18 лет назад
[quote="tvv"]SolNikolay, если не safe_mode, и если дает ставить set_time_limit(0), и если web сервер не настроен на принудительное убийство долгозапущенных скриптов, то не обрубится.[/quote]
Вадим, слишком много если.
В основном настройки стандартны на виртуальных хостах - 30 сек. на исполнение.
Алексей Б.
897 сообщений
#18 лет назад
Просто интервал поменьше и все.
Если права позволяют, можно на bash.
Но его тоже сервак может рубить.
Алексей Б.
897 сообщений
#18 лет назад
А можно вообще просто, попроси знакомых с crontab'ом запускать твой скрипт get'ом
Вадим Т.
3240 сообщений
#18 лет назад
SolNikolay, тогда вместо PHP используем Perl. Хотя бы для загрузки скрипта-лоадера. И почти все проблемы сняты (если web сервер не убивает принудительно долгозапущенный скрипт, но такие установка бывают не очень часто, не путать с time_limit в PHP).

lyoxa, кстати, вместо двух скриптов можно использовать один, который вызывает сам себя через system("... &"; если нет safe_mode
Гость
710 сообщений
#18 лет назад
[quote="lyoxa"]А можно вообще просто, попроси знакомых с crontab'ом запускать твой скрипт get'ом[/quote]
Да у меня на хостинге и так есть cron