Есть своя CMS, есть рассылка почты клиентам.
Ранее рассылка была реализована пачками по 50 адресов, новая пачка вызвалась за счет
<meta http-equiv="Refresh Content="3; URL=./dir/">
Захотел это сделать ассинхронно. прикрутить красивый прогрессбар
Важный момент, между обращения к скрипту должна быть пауза в 3 сек. Чтоб не перегружать почтовик
$("document").ready(function() {
function sendMails () {
$action = $('#action').val();
$.ajax({
type: "POST",
dataType: "json",
cache: false,
url: '?action='+$action+'&subaction=ajax',
timeout: 25000,
error: function() {
alert ('Ошибка');
},
success: function(data) {
if (data.result == 'ok' && $(data.data).size()) {
$('#sent').text(data.data.sent);
$('#remain').text(data.data.remain);
$('#percents').text(data.data.percents);
$('#errors').text(data.data.errors);
setTimeout(sendMails(),30000);
}
else if (data.result == 'finished') {
alert ('Все сделано');
}
}
});
}
sendMails();
});
Работает рекурсивно, но задержек между ответом сервера и новым обращением нет.
Уже повсякому прокрутил это скрипт.
В Javascript не силен. Перегуглил все подряд.
Так как не полуается, уже склоняюсь к тому чтоб паузу сделать на стороне php. Но хотелось бы все-таки в javascript