spracovanie handle na pozadi + progres bar [info o spracovani]
- duskohu
- Člen | 778
Caute, Nam taku otazku, Posielam ajaxovo poziadavku na handle ten odosiela
emaili, ked je ich vela tak to aj trosku trva, po odoslani invalidujem snippet a
vypisem info pocte odoslanych.
Ako by sa dal urobit progres bar aby mi na zaklade poctu odoslanuch mailov (viem
si zistit z db) zobrazovalo progres bar?
- duskohu
- Člen | 778
skusal som nieco taketo:
problem je v tom ze toto sa spusti len pred zacatim ajaxu a po dokonceni, takze
proebezne to nezobrazuje, uvgazoval som ze progres bar by si mohol bolat nejaky
handle ajaxom ktory by mu posielal stav, ale neviem ako sa pohnut dalej
$.nette.ext('action-send', {
load: function () {
var that = this;
$('a[data-no-send-items-count]').off('click');
$('a[data-no-send-items-count]').click(function(e){
that.id = $(this).attr('id');
e.preventDefault();
var data = $(this).data('noSendItemsCount');
if(data >0){
var url = $(this).attr('href');
$.nette.ajax({
url: url
});
}
});
},
before: function(){
this.progressBar();
},
complete: function(payload){
if (typeof payload.mailerListCount !== 'undefined') {
this.progressBar(payload.mailerListCount); // tu sa nachadza cilo v % na kolko je proces dokonceny
}
}
},{
progressBar: function (mailerListCount = 0) {
}
});
Editoval duskohu (23. 1. 2013 12:37)
- akadlec
- Člen | 1326
Náhodou jsem to kdysi řešil taky u posílání mailů a vyřešil sem to tak že co mail to samostatný request a ty šly postupně ve frontě. Takže na začátku jsem si sestavil frontu IDček co se budou zpracovávat a pak jsem je po jednom procházel a posílal na server. Jakmile se ze serveru vrátila odpověď tak sem progress posunul o jednotku a volal dál.