Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Полное срабатывание скрипта php
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Alone
Отправлено: 12 Ноября, 2007 - 05:29:41
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Теоретический вопросик:

Вобщем есть скрипт рассылки на 300 e-mail-ов. Рассылка осуществляется периодически через заданный интервал времени. Осуществляется она путём захождения на страницу скрипта юзером. Т.е. какой-нить юзер заходит и если время рассылки пришло - то произходит рассылка на 300 мэйлов.
Всё зашибись если этот юзер я или какой-нибудь терпеливый юзер, который способен немного подождать пока скрипт полностью сработает и все письма разошлются. Это занимает несколько десятков секунд. Но что будет если это будет робот, который забежит на секунду или это будет юзер, который тоже заскочит на пару секунд и потом свалит? Скрипт до конца не сработает? А значит рассылка отправится не всем подписчикам?
Или я ошибаюсь?
Если не ошибаюсь то как сделать чтобы скрипт продолжал работать до победного конца даже если юзер уже ушёл со страницы?

ps
Крона нет.
 
 Top
Ray Wen Администратор
Отправлено: 12 Ноября, 2007 - 07:04:28
Post Id



Собиратель шишек...


Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005  
Откуда: Волгоград

Карма 21




Alone
Запускай свой скрипт в iframe после загрузки страницы, тогда никому ждать не придется... А так, сервер заканчивает обработку не зависимо от того что с зашедшим на страницу.
 
 Top
Furax
Отправлено: 12 Ноября, 2007 - 07:34:03
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Ray Wen пишет:
сервер заканчивает обработку не зависимо от того что с зашедшим на страницу.
Не-а. От настроек PHP зависит. Один из флагов в php.ini определяет, что делать, но навскидку не скажу, какой. Либо скрипт идёт до победного конца, либо обрубается при разрыве соединения.

Alone
Лучше рассылай по частям - и юзерам приятнее, и меньше вероятность, что рассылка не успеет завершиться, но уже по причине превышения таймаута выполнения (по умолчанию, если не ошибаюсь, секунд 30, но хостёр может снизить это значение).
 
 Top
Alone
Отправлено: 12 Ноября, 2007 - 09:50:39
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Ray Wen пишет:
А так, сервер заканчивает обработку не зависимо от того что с зашедшим на страницу.

Это решается добавлением:
CODE:
set_time_limit(0);

Но вопрос не об этом, а о том, что робот может заскачить на доли секунды....
Ray Wen пишет:
Запускай свой скрипт в iframe после загрузки страницы, тогда никому ждать не придется...

Это ничего не меняет. Юзер уйдёт и фрейм закроется (как и любая другая страница), а значит скрипт недосрабатывает.
Furax
Это не проблема. Всё рассылается зашибись, если я захожу на страницу и не сваливаю с неё.
Я в курсе что можно частями и т.д. Но вопрос всё равно открытый - если даже частями, т ои эти части тоже могут недорассылаться всё по той же самой причине - юзер может свалить до того. как скрипт сработает полностью. а значит рассылка придёт только тем подписчикам чьи мэйлы находятся первыми в файле рассылки......
Вот в этом вопрос.....
 
 Top
Furax
Отправлено: 12 Ноября, 2007 - 10:45:18
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Alone
Ну так рассылай маленькими порциями, желательно ещё до генерации страницы - скажем, рассылай до тех пор, пока не пройдёт 2 секунды. Так, частями, всё и разойдётся...
 
 Top
Alone
Отправлено: 12 Ноября, 2007 - 11:00:42
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Furax
Вопрос в том что всё рассылается нормально за один раз.
Как сделать так чтобы сделать так чтобы после того как скрипт "включился" он бы не выключался даже если юзер ушёл сос страницы (как в кроне).
 
 Top
Furax
Отправлено: 13 Ноября, 2007 - 02:37:07
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Alone
php.ini пошукай.
 
 Top
Alone
Отправлено: 13 Ноября, 2007 - 04:39:34
Post Id



Super Member


Покинул форум
Сообщений всего: 2393
Дата рег-ции: Дек. 2004  

Карма 8




Furax пишет:
php.ini пошукай.

Зачем?
 
 Top
Furax
Отправлено: 13 Ноября, 2007 - 08:19:43
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Параметр max_execution_time определяет, сколько максимально скрипт может выполняться, а, кажись, ignore_user_abort как раз определяет, продолжится ли выполнение скрипта после отключения пользователя.

З.Ы. А cron не подходит? Таких проблем не будет...
 
 Top
Ray Wen Администратор
Отправлено: 13 Ноября, 2007 - 08:48:10
Post Id



Собиратель шишек...


Покинул форум
Сообщений всего: 2602
Дата рег-ции: Янв. 2005  
Откуда: Волгоград

Карма 21




Furax
Alone пишет:
ps
Крона нет.

А iframe нужен, чтобы отдать страницу пользователю... а то растроется что сайт не доступен...
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0498]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33