respublika
2.04.2014 - 12:28
Всем привет.
На хостинге без крона работает скрипт. На сайт ежедневно заходят роботы. Этим запускается скрипт. Но он работает долго - 5-6 минут. Не знаю будет ли робот дожидаться.
Как сделать надёжно чтоб скрипт отрабатывался?
Подумал. Если поставить на другой посещаемый сайт в конце, после выдачи в браузер запрос CURL'ом на указанный выше скрипт. Будет скрипт отрабатываться, не прерываться? Или я чего-то не соображаю?
killer8080
2.04.2014 - 12:39
respublika
что мешает задействовать cron?
Invis1ble
2.04.2014 - 12:40
respublika
2.04.2014 - 12:57
Ну блин мужики!
Cron'a нет в пакете услуг. Менять пакет? Ну да, баблосами можно многое решить. А мозгами? Идея получит развитие, конечно поменяю. Пока нужно проверить работоспособность прикладной задачи.
Скажите что-то, пожалуйста по существу вопроса.
Игорь_Vasinsky
2.04.2014 - 13:01
а дорого нынче крон стоит?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
respublika
2.04.2014 - 13:04
Отдельно не продают. Следующий пакет на 5 евросов больше.
Игорь_Vasinsky
2.04.2014 - 13:05
ну дёргай свой скрипт кроном на другом хостинге. хоть бесплатном.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
2.04.2014 - 13:17
Цитата (respublika @ 2.04.2014 - 12:57) |
Cron'a нет в пакете услуг. Менять пакет? |
у меня крон даже на бесплатном есть, где вы такие хостинги находите
Цитата (respublika @ 2.04.2014 - 12:57) |
Пока нужно проверить работоспособность прикладной задачи. Скажите что-то, пожалуйста по существу вопроса. |
по существу такие задачи решать в контексте апача в корне не верно, нужно скрипт отправлять в бекграунд, но позволит ли тебе это твой чудо-хостинг это еще вопрос
В контексте апача так
set_time_limit(0);
ignore_user_abort(true);
но опять же не факт что у тебя эти функции доступны, и есть вероятность что на сервере есть защита от зависания веб скриптов, которая перезапустит воркер, долго обрабатывающий запрос.
respublika
2.04.2014 - 13:26
Цитата (killer8080 @ 2.04.2014 - 09:17) |
Цитата | где вы такие хостинги находите |
|
Да по серости всё...
max_execution_time = 50000
Вроде не проблема.
Я не понимаю. Если сервер получил запрос, он должен скрипт отработать до конца? Скажем человек не станет ждать. Перейдет по другой ссылке. Исполнение на сервере предыдущей задачи прервётся?
killer8080
2.04.2014 - 13:39
Цитата (respublika @ 2.04.2014 - 13:26) |
Я не понимаю. Если сервер получил запрос, он должен скрипт отработать до конца? Скажем человек не станет ждать. Перейдет по другой ссылке. Исполнение на сервере предыдущей задачи прервётся? |
по умолчанию да, функция ignore_user_abort() как раз и нужна, чтобы изменить дефолтное поведение. Другое дело что о разрыве коннекта php не узнает, до тех пор, пока не попытается выдать данные в поток. Если твой скрипт ничего не выводит во время работы, то скорей всего продолжит работать до истечения таймаута max_execution_time. Экспериментируй
respublika
2.04.2014 - 13:49
спасибо
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.