Проверил, оказалось что не работает, по прежнему браузер блочится.
вот это новость
Nyam пишет:
Больше нету идей как можно решить проблему ? (
асинхронная обработка
мелкого слушай
вот что тебе непонятно?
хочешь и рыбку сьесть и рыбку сьесть?
Нет, хочу рыбку есть и компотом запивать.
При обращении к скрипту через exec а перед этим прописания хедера, по прежнему отвисает страница в браузере только после завершения выполнения скрипта, прописанного в exec.
Nyam, например, можно инициировать выполнение той самой функции через ajax-запрос от клиента.
Или отправить клиенту (браузеру) header("location...") и спокойно продолжать дальше выполнение скрипта (той самой функции).
Как я понимаю header("location...") будет выполняться только уже после exec и в итоге ничего не изменится? (Добавление)
LIME пишет:
Sail пишет:
Nyam, например, можно инициировать выполнение той самой функции через ajax-запрос от клиента.
Мелкий пишет:
Такой подход нормально переживает пики активности вместо DoS всего сервиса.
это замечание к тс относится
всеже асинхронная обработка имеет свои плюсы
но есть и минусы
как говорится нет очереди нет проблем
Нагрузка на сервер не будет, так как если уже данный скрипт запущен, другие пользователи не могут его запускать, пока не выполнится предыдущий.
С веба кладёте задачу в очередь pgq, gearman, rabbitmq или чего ещё больше нравится.
Кроном или написанным демоном вычитываете задачу, выполняете, затем хватаете следующую и выполняете
Такой подход нормально переживает пики активности вместо DoS всего сервиса.
Здравствуйте, столкнулся с небольшой проблемой при запуске функции, которая должна выполняться в фоне после определенного действия пользователя. Так как по завершению функции от неё не нужны никакие данные и тд., хотелось бы чтобы пользователь во время выполнения функции мог без проблем пользоваться сайтом. Фоновый запуск функции реализовал через exec('/usr/bin/php test.php &'); но при этом браузер по прежнему ждет завершения функции и не дает пользователю нормально использовать сайт.
Прошу вас подсказать как сделать выполнение полностью в фоне для пользователя.
Nyam, цель данной авторизации - сделать заготовку для чекера. Если есть доступ к почте по imap, например то можно это все автоматизировать, например: http://php.net/manual/ru/book.imap.php
Я могу и руками ввести данный пасс, так как он спрашивается 1 раз для нового ip. Но вот вопрос как реализовать подобную авторизацию на пхп.
Как я понял, проблема авторизации происходит из-за того, что при первой авторизации с IP сервера требуется ключ, который приходит на почту. Возможно ли как то предоставить данный ключ скрипту, когда он прийдет ?
Возможно есть какой-то другой способ авторизации ?
Цель данной авторизации проверить по трейд урлу пользователя, есть ли у него мобильная аутентификация (Escrow) или нету в аккаунте стима.
Nyam, так try/catch пробовали?
Под вашу задачу как раз подходит. Если в try получили ошибку, то выполнение передается в блок catch.
Далее цикл продолжит выполняться.
В catch можно, например, добавить
Цитата:
а пользователю с ошибкой в бд писал что у него что то не правильно.
Спасибо, буду пробовать ваш вариант. (Добавление)
3d_killer пишет:
Nyam пишет:
При том, что как только скрипт где то застопорился он не продолжает работать с другими пользователями.
ну правильно, вот там где много всего не сделана обработка исключений, не видя "много всего" тут тебе никто не поможет, экстрасенсов нет
Вопрос заключался не в том как выявлять в чем случилась ошибка, а возможно ли сделать, что если при выполнении настроек n юзера что-то пошло не так то не остановиться, а срезу перейти к работе с настройками юзера n+1!
куча всего, что нужно делать с каждым пользователем
Есть подозрение, что как раз здесь и кроется собственно проблема.
Задам вопрос немного по другому. Есть скрипт который работает по настройкам пользователя в бд и запускается через крон. Скрипт запускается и переходит к пользователю 1 в настройках пользователя 1 указано всё верно, что нужно что-то сделать по api с сайтом A. Скрипт всё сделал. Переходит к пользователю 2, у него указано так же в настройках всё верно и ему нужно сделать что-то по api с сайтом B, который в данный момент сломался (к примеру просто по запросу не выдел нужный ответ или время получения ответа превысило норму ли миллион других случаев) и скрипт выдал ошибку и к пользователю 3 в итоге он не дошел. Как избежать того что он даже не начал работать с пользователям 3?
Здравствуйте!
У меня имеется скрипт, который запускается по крону каждые 2 минуты, проходит по всей базе пользователей и в зависимости от изменений их настроек выполняет некие действия.
Вопрос состоит в том, как сделать чтобы скрипт работал отдельно с каждым пользователем, а точнее чтобы если у какого то из пользователей настройки не корректные и скрипт выдает ошибку, то он продолжал работать с другими пользователями, а пользователю с ошибкой в бд писал что у него что то не правильно.
Сейчас скрипт проходит всех пользователей и всё работает только в том случае если ошибок нету, как только появляется ошибка на каком то пользователе, скрипт просто работает до него, и не работает с оставшимися пользователями.