FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hur gör man bäst tidskrävande anrop utan att användaren ska se svaret, eller behöva vänta på svaret?
Exempel 1: En medlem registrerar sig på min sida och får ett "tack för registreringen". Därefter vill jag göra en kreditupplysning på personen genom att göra anrop till ett API på en extern url. Exempel 2: Ett gränssnitt på min server tar emot ett anrop från en annan server och svarar "ok". Därefter vill jag göra diverse operationer med den data som jag mottagit, efter att jag svarat "ok" till anropande server. De lösningar hag funderat på är: - Ett CRON job som gör alla operationer vid ett senare tillfälle. Men det är inte en lösning som passar mig i det här fallet. Jag vill göra dem direkt "on demand". - Göra externa anropen i en dold iFrame och sätta ignore_user_abort i det anropande scriptet. Funkar i exempel 1, men inte exempel 2. Finns det någon universallösning med cURL eller liknande? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Bara ett inlägg till!
|
Jag har själv aldrig jobbat med kreditupplysningar, men jag skulle föreslå följande:
Användaren matar in de fält som krävs av dig (registeringsförfarandet) samt de värden som krävs av kreditupplysningen (personnnummer, fullständigt namn, adress). Därefter så klickar man på "Utför kreditupplysning för att slutföra registreringen". Då gör den följande: - Disablar knappen - Visar en "loading"-knapp/symbol - Gör en Ajax-request mot ditt script, som i sin tur gör en kreditupplysning - Får svar tillbaka från scriptet med true/false, 1/0, whatever - Om kreditupplysningen gick bra: Aktiverar/visar knappen "Skapa kontot" som skapar kontot. Hoppas att jag förstod problematiken. |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Bara ett inlägg till!
|
Ursäkta, missförstod det hela. Du vill att användaren inte skall behöva vänta.
Du kan t ex istället skriva ett program/script som lyssnar på någon TCP-port (som är endast öppen lokalt) där du skickar med de parametrar som krävs som kör igång processen "on the demand". |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Banned
|
Du vill alltså utföra tidskrävande anrop baserat på vad användaren fyller i, men du vill inte att det ska ta tid för att användaren inte ska behöva vänta?
Låter lite moment 22. |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Mycket flitig postare
|
Skapa en async request/starta en ny tråd för steg #2.
Efter det får du köra med ngn sorts pollfunktion för att ta reda på status. |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Nykomling
|
Jag har kommit på att jag kan göra ett anrop med curl och sätta timeout till 1 sekund... det är nog den enklaste (= bästa) lösningen för mig.
|
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
||||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Supermoderator
|
Kreditfrågor brukar gå väldigt snabbt i normalfallet så det bör ju inte vara något problem...
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
![]() |
![]() |
Svara |
|
|