The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
PHP register_shutdown_function виснет браузер, !*! VArtem, 27-Дек-11, 02:39  [смотреть все]
Здравствуйте,

Есть авторизованные юзеры (при помощи сессии). Стоит задача отправлять смс. Т.к. процесс отправки смс достаточно долгий (20-40сек) хочется что бы юзеру не требовалось сидеть с зависшим браузером и ожидать окончание отправки.

Сделал отдельную функцию отправки sms и зарегистрировал её в register_shutdown_function. SMS отправляется в самом конце(как и положено) и я даже успеваю показать юзеру какую-то другую страничку. Однако, когда обрабатывается сама функция отправки сообщения, браузер продолжает висеть.  Если в начале скрипта добавить session_regenerate_id, то юзер может продолжить навигацию (вроде как я хотел), однако юзер разлогиневается (сессия теряется). Возможно это еще приколы настройки моего php.ini, однако мало в это верится.

Распаралеливание на стороне клиента (ajax, новое окно браузера) не предлагать.

Как вариант, можно вызвать на стороне сервера /usr/bin/php /var/www/sendsms.php & > /dev/null  (но мне этот вариант тоже не очень нравится, т.к.
1) разрешать php исполнять файлы (exec, system) операционной системы - косяк в безопасности
2) не запустится на чужом хостинге (для меня не так важно, ибо у меня свой хост)

  • PHP register_shutdown_function виснет браузер, !*! ne4to, 13:50 , 27-Дек-11 (1)
    >[оверквотинг удален]
    > отправки смс достаточно долгий (20-40сек) хочется что бы юзеру не требовалось
    > сидеть с зависшим браузером и ожидать окончание отправки.
    > Сделал отдельную функцию отправки sms и зарегистрировал её в register_shutdown_function.
    > SMS отправляется в самом конце(как и положено) и я даже успеваю
    > показать юзеру какую-то другую страничку. Однако, когда обрабатывается сама функция отправки
    > сообщения, браузер продолжает висеть.  Если в начале скрипта добавить session_regenerate_id,
    > то юзер может продолжить навигацию (вроде как я хотел), однако юзер
    > разлогиневается (сессия теряется). Возможно это еще приколы настройки моего php.ini, однако
    > мало в это верится.
    > Распаралеливание на стороне клиента (ajax, новое окно браузера) не предлагать.

    таблица очереди смс .. по которой кроном проходит скрипт и отправляет смс ?

  • PHP register_shutdown_function виснет браузер, !*! JohnProfic, 19:54 , 28-Дек-11 (2)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру