Остановка обращений к файлу при помощи аякс запроса
Вложений: 1
Здравствуйте.
Реализовываю рассылку с сайта, при помощи js вызываю файл в котором выборки на php и отправка писем. Сам js файл выглядет так:
/*По нажитию кнопки вызываю фун. в котоую передаю 1*/
$(document).ready(function(){
$('#start_upload_vac').on('click',function(){
$('#start_upload_vac').val('Загрузка ...').attr('disabled',true);
scriptOffset('1');
});
});
function showProcess(PAGE) {
scriptOffset(PAGE);
}
/*Делаю аякс запрос к файлу test.php с выборками и отправкой писем*/
function scriptOffset(PAGE) {
$.ajax({
type: 'GET',
url: '/test/test.php?PAGE='+PAGE,
dataType: 'json',
success: function(request) {
if(request.end == 'Y') {
$('#logs').html('<a class="show_log" rel="add" target="_blank" href="/test/logs.php">Логи рассылки акций</a>');
} else {
showProcess(request.PAGE);
}
}
});
}
В самом файле test.php после всех выборок и отправки писем делаю так:
$PAGE = (isset($_GET['PAGE']) && intval($_GET['PAGE']) > 0) ? intval($_GET['PAGE']) : 1;
/*Выборки и отправка писем*/
if($count > $PAGE) {
$PAGE++;
echo json_encode(array('PAGE'=>$PAGE));
} else {
echo json_encode(array('end'=>'Y'));
}
Где $count число писем которое необходимо отправить. Т.е каждое письмо на отправку это вызов файла test.php Все вроде бы ничего, пока не дойдет до значения в 1183 (скрин во вложении) и останавливается, т.е отправка всех писем не доходит до конца. Сама отправка тоже не причем так как даже без нее кол-во обращений к файлу останавливается. Реализовываю именно таким метотодом по причине того что необходимо отправлять примерно 50000 писем. Подскажите из за чего может возникать такая проблема?Как исправить? Заранее спасибо! |
Цитата:
Рассылки нужно производить планировщиком задач, по расписанию не нагружая порт. |
Ambassador,
Типично весь пакет писем с клиента(или часть пакета, обычно ограничивают 600 -700 кб) упаковывают в один файл и отправляют на серв, а серв разбирает пакет и уже сам отправляет) |
Ребят, проблема заключается не в самом кол-ве отправке писем, а в том что кол-во обращений к файлу при помощи ajax прерывается на 513
|
Ambassador,
Допустимых одновременных необработанных ассинхронных Аякс запросов с домена из браузера - не более 5. Возможно есть и ограничения по общему числу запросов за какой-то интервал времени, которое ксать может быть и на провайдере Вы вытворяете черт знает что и спрашиваете почему на 513 затыкается. Еще раз: собирайте письма в пакеты по 500-600 кб - отправляйте одним запросом, дожидайтесь ответа(т.е тестируете событие ajaxComplete, после которого следущий запрос. Можно конечно отправить синхронно, но 500-600кб повесит Ваш браузер типично на время более одной секунды. |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 17:49. |