2015-06-12 13:01 GMT+03:00 Alex 'CAVE' Cernat <[email protected]>: > On 12/6/2015 12:49 PM, Petru Rațiu wrote: > > 2015-06-12 12:36 GMT+03:00 Alex 'CAVE' Cernat <[email protected]>: > > > > > > Acu serios, ce zici tu aici e o aberatie. Nu poti face queueing in > frontend > > decat daca ai garantia ca e un spike de trafic care o sa treaca. Daca > esti > > slashdotted (sau cum vrei sa chemi fenomenul cand ai o rata incoming de > > requesturi _sustinuta_ care depaseste capacitatea backendului), mai > > devreme sau mai tarziu ceva va da pe-afara. > ceea ce incerc de fapt este sa nu execut aceeasi operatie (care garantat > va da aceleasi rezultate) de jde ori in paralel (o execut o data si dupa > aia sanatate, datele prelucrate le am deja gata), si in acelasi timp sa > nu blochez servirea altor resurse pentru care ar fi resursele necesare > atata timp cat nu am jde procese executand in paralel operatia mai sus > pomenita > in mod ideal s-ar putea imparti frumos pe pool-uri diferite in functie > de clasele de operatii, dar dupa cum ziceam cat de groasa e treaba pot > sa aflu de abia cand se ajunge in php si se fac pe acolo niste calcule > banale, insa nu inainte bazat strict doar pe url > daca ai tu alte idei, chiar daca e vineri sunt numai ochi si urechi > oricum, mersi de 'trotil', nu cautam in adevaratul sens al cuvantului, > dar macar e un punct de plecare, ca incepeam sa ma invart in jurul cozii > >
Cred ca problema ta s-ar rezolva intr-un mod un pic mai complex: 1) un backend care face ce ai tu nevoie si pune rezultatele undeva 2) un system de message queing in care pui requesturi si cand este termina de procesat request-ul pui o notificare pe message queeing ca e gata si ca datele sunt in locul X 3) clientul in background (via AJAX) face refresh si intreaba serverul: datele pentru queue id xxx sunt gata? (ceva gen: are we there yet? are we there yet?) 4) daca e gata procesarea, primesti datele si le afisezi Disclaimer: eu asa face, dar pe de alta parte eu nici nu ma pricep la chestii din astea web scale :) _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
