|
|
|
| Всем привет!
Есть такой javascript:
$.post('/requests/sendMessage.php',{
'm':amail
},function(data){
if(data.length > 0){
if(data != 'Hacking attempt!'){
alert('all message send');
}
}
});
|
Он отправляет массив email-ов в php скрипт где тут же начинается рассылка. В самом php скрипте я прописал ini_set("max_execution_time", "0"); дабы избежать обрыва отправки. После окончания отправки на экран мне должно вывестись сообщение. Так вот, если большая рассылка, скрипт может работать 2 и более минут. При этом мне в консоле firebug-a пишет 504 gateway time-out и время работы 1m30s. Сам php скрипт продолжает работать и рассылает всем успешно, но после окончания отправки, я уже не увижу сообщения, что все отправлено, т.к. произошла ошибка.
Куда копать?
Версия jquery: 1.5.1
Пробовал через $.ajax отправить с timeout > 90s, все равно ругается на 1m30s, если ставить меньше, то срабатывает, но мне нужно больше.
Или подскажите такой вариант как реализовать:
- шлем в php скрипт массив email-ов, который начинает рассылку
- отослали 1 письмо, вывели сообщение, что 1 из 100 отправлено
- отослали 2 письма, вывели .... и тд
- когда будет отослано последнее письмо, мы сообщаем, что рассылка окончена
P.S. Скрипт делаю не для рассылки спама, а для уведомления подписанных клиентов, а то мало ли, что подумаете! | |
|
|
|
|
|
|
|
для: TetRiska
(08.02.2014 в 21:27)
| | long poll
Но учитывая, что работа с почтой, а на это всегда накладываются ограничения, может быть лучше помещаться список для задач cron, и при возвращении "принято", запускать опрос состояния выполнения этой задачи. | |
|
|
|
|
|
|
|
для: confirm
(09.02.2014 в 08:53)
| | про крон думал, не подходит
по линку пока ничего не понял, почитаю еще, спасибо | |
|
|
|
|
|
|
|
для: TetRiska
(09.02.2014 в 16:35)
| | И чем это cron не подходит?
Запускайте exe, но смысл ждать ответа сервера через N-неизвестного времени? | |
|
|
|
|
|
|
|
для: confirm
(09.02.2014 в 17:54)
| | Возможно я и ошибаюсь. Например повешу на крон, который каждые 5 минут будет проверять таблицу на появление новых писем и отсылать. Как тогда препятствовать следующему запуску крона, если предыдущая аналогичная операция не закончилась? | |
|
|
|
|
|
|
|
для: TetRiska
(09.02.2014 в 18:25)
| | не крону нужно препятствовать, а в скрипте который запускает крон проверять условие можно ли делать отправку, которое устанавливается а "да" только после окончания операции, и сбрасывается в ее начале. | |
|
|
|
|
|
|
|
для: confirm
(09.02.2014 в 18:37)
| | ага, понял, спасибо, буду пробовать | |
|
|
|
|
|
|
|
для: TetRiska
(09.02.2014 в 19:13)
| | Ну да, что тут может быть непонятного, только если говорить более полно, то проверяться должны два условия - разрешена ли отправка, и есть ли что для отправки. | |
|
|
|