Symfony2.8 - Service - Session
Sziasztok!
Szeretném a segítségeteket kérni, mert tanácstalan vagyok.
Problémám, illetve a szituáció a következő:
Arra gondoltam, hogy írok egy service -t, ami három dolgot képes végrehajtani:
Az elképzelt folyamat:
A problémám, hogy minden egyes kérésnél, üres a session, és a session_id is más.
Hiába van set/get, mindig null -t kapok vissza.
Ha valakinek bármi ötlete/tanács van, az ne habozzon. :)
Üdv
■ Szeretném a segítségeteket kérni, mert tanácstalan vagyok.
Problémám, illetve a szituáció a következő:
Van egy "beléptető" alkalmazás, amely áll egy kliens és egy szerver oldalból, s a kettő rest -en keresztül kommunikál egymással. A probléma, hogy ha egy felhasználó kétszer egymás után gyorsan lép be, akkor két ugyan olyan folyamat indul számára.
Arra gondoltam, hogy írok egy service -t, ami három dolgot képes végrehajtani:
1. letárolja a felhasználó azonosítóját a session -be
2. eltávolítja a felhasználó azonosítóját a session -ből
3. ellenőrzi, hogy a felhasználó azonosítója megtalálható -e a session -ben
2. eltávolítja a felhasználó azonosítóját a session -ből
3. ellenőrzi, hogy a felhasználó azonosítója megtalálható -e a session -ben
Az elképzelt folyamat:
1 - a felhasználó elindítja a kérést
2 - ellenőrzöm, hogy a session -ben szerepel -e az azonosítója
3.1 - ha nem szerepel, akkor hozzáadom a session -höz, s elkezdem kiszolgálni a kérését.
3.2 - ha szerepel, akkor eldobom a kérést
4 - a válasz küldése előtt kitörlöm a sessoin -ből a felhasználó azonosítóját
2 - ellenőrzöm, hogy a session -ben szerepel -e az azonosítója
3.1 - ha nem szerepel, akkor hozzáadom a session -höz, s elkezdem kiszolgálni a kérését.
3.2 - ha szerepel, akkor eldobom a kérést
4 - a válasz küldése előtt kitörlöm a sessoin -ből a felhasználó azonosítóját
A problémám, hogy minden egyes kérésnél, üres a session, és a session_id is más.
Hiába van set/get, mindig null -t kapok vissza.
Ha valakinek bármi ötlete/tanács van, az ne habozzon. :)
Üdv
Symfony
Félreértettél
Amíg "X" felhasználó a kérésére nem kapott választ, addig ne indíthasson újat, viszont "Y" és "Z" felhasználók "X" felhasználótól függetlenül indíthassanak kérést.
Ezt próbáltam megoldani a sessionel, de az mindig üres.
Amíg folyamatban van a válasz előállítsa, addig tárolnám a felhasználó azonosítóját egy úgymond várakozási listán.
Ha beesik még egy kérés ugyan attól a felhasználótól, és rajta van a várakozási listán, akkor az új kérése megszakításra kerül.
Ha előállt a válasz, akkor eltávolítom a várakozási listáról, s újra lehetősége van kérést indítani.
Remélem így érthetőbb a problémám.
rest api
Amikor érkezik a request, bedobnám egy logapi táblába User Id val együtt, mondjuk 1 es státusszal. Közvetlenül amikor a response küldöm, update státusz 2 re.
Amikor request jön, select a user alapján, van e 1 státusszal neki rekord.
Ha van: 0 val teszem be, és hibát dobok.
Kb ennyi szerintem. (Nyilván van erre gyorsabb és jobb megoldás is, mint a db insert )