Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Code Asynchrone dans une application Symfony Sy...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Code Asynchrone dans une application Symfony Synchrone

Avatar for Jérôme Tamarelle

Jérôme Tamarelle

April 08, 2022

More Decks by Jérôme Tamarelle

Other Decks in Programming

Transcript

  1. œƘĿĕŋłƘNŶŶť!ķĢāłŶāŭŶłŋł̖ðķŋŨŽÖłŶ́ KWWS&OLHQW +WWS&OLHQWFUHDWH  5HTXHVWVDUHQRQEORFNLQJ UHVSRQVH KWWS&OLHQW!UHTXHVW *(7  KWWSVKWWSVWDWXV"VOHHS

      UHVSRQVH KWWS&OLHQW!UHTXHVW *(7  KWWSVKWWSVWDWXV"VOHHS   'RDQ\WKLQJZKLOHUHVSRQVHVZDLWLQSDUDOOHO 5HDGLQJUHVSRQVHVLVEORFNLQJ UHVSRQVH!JHW&RQWHQW  UHVSRQVH!JHW&RQWHQW  $+VSQ2E2Ƃ4VMWQE1IHME
  2. ́ĿÖĢŭķÖķāóŶŽũāùāķÖũĂťŋłŭāāŭŶðķŋŨŽÖłŶā KWWS&OLHQW +WWS&OLHQWFUHDWH  5HTXHVWVDUHQRQEORFNLQJ UHVSRQVH KWWS&OLHQW!UHTXHVW *(7  KWWSVKWWSVWDWXV"VOHHS

      UHVSRQVH KWWS&OLHQW!UHTXHVW *(7  KWWSVKWWSVWDWXV"VOHHS   'RDQ\WKLQJZKLOHUHVSRQVHVZDLWLQSDUDOOHO 5HDGLQJUHVSRQVHVLVEORFNLQJ UHVSRQVH!JHW&RQWHQW  UHVSRQVH!JHW&RQWHQW  $+VSQ2E2Ƃ4VMWQE1IHME
  3. ϒ'$ )/Ѕ) 2 /͠ //+͠-*2. -͙̫͘ ϒ- ,0 ./ )'

    -Ѕ!0)/$*)͘ϒ0-'͙0. ͘ϒ'$ )/͙̪-*($. )/ -! ͜ - /0-)ϒ'$ )/̾Ј" /͘ϒ0-'͙ ̾Ј/# )͘!0)/$*)͘ .+*). )/ -! ϒ- .+*). ͙̪./-$)"͜ - /0-)͘./-$)"͙ϒ- .+*). ̾Ј" /*4͙̫͘ ͙̫͝ ̫͝  /͠-*($. ͠''͚͘ ϒ- ,0 ./ )' -̱͘#//+.̪͞͞#//+.//̨0.̠̞̞̯͞.' +Ѕ̣̞̞̱͙̩ ϒ- ,0 ./ )' -̱͘#//+.̪͞͞#//+.//̨0.̠̞̞̯͞.' +Ѕ̠̞̞̱͙̩ ͙͛̾Ј/# )͘!0)/$*)͘--4ϒ- .0'/.͙0. ̝͘ϒ*$ .͙͜ϒ*$ .Ѕϒ- .0'/.͙̫͝  /͠1 )/ **+͠ **+̪̪-0)͙̫͘ 6RXUFHKWWSVJLWKXEFRPUHDFWSKSKWWSWUHH[H[DPSOHV Ƒāó˜āÖóŶ˿”ũŋĿĢŭāŭ $+VSQ2E2Ƃ4VMWQE1IHME
  4. ϒ'$ )/Ѕ(+͠ //+͠'$ )/͠ //+'$ )/0$' -̪̪0$' !0'/͙̫͘ **+̪̪-0)͘.//$!0)/$*)͙͘0. ͘ϒ'$

    )/̩̝ϒ*$ .͙̪͠ ) -/*-͜ ϒ- ,0 ./ )' -Ѕ.//$!0)/$*)͘./-$)"ϒ0-$͙0. ͘ϒ'$ )/͙̪͠ ) -/*-͜ ͢͢͞ͽ1-(+͠ //+͠'$ )/͠ .+*). ϒ- .+*). ͢͞ ϒ- .+*). Ѕ4$ 'ϒ'$ )/̾Ј- ,0 ./͘) 2 ,0 ./͘ϒ0-$͙͙̫ - /0-)4$ 'ϒ- .+*). ̾Ј" /*4͙̾͘Ј0!! -͙̫͘ ̫͝ ϒ*$ .Ѕ4$ '͚ (+͠''͘ϒ- ,0 ./ )' -̩̱#//+.̪͞͞#//+.//̨0.̠̞̞̯͞.' +Ѕ̣̞̞̱͙̩ (+͠''͘ϒ- ,0 ./ )' -̩̱#//+.̪͞͞#//+.//̨0.̠̞̞̯͞.' +Ѕ̠̞̞̱͙ ̫͛ ͙̫͝ 6RXUFHKWWSVJLWKXEFRPDPSKSKWWSFOLHQWWUHHPDVWHUH[DPSOHV Ƒāóm”˿!ŋũŋŽŶĢłāŭ $+VSQ2E2Ƃ4VMWQE1IHME
  5. ϒ'$ )/Ѕ(+͠ //+͠'$ )/͠ //+'$ )/0$' -̪̪0$' !0'/͙̫͘ ϒ- ,0

    ./ )' -Ѕ.//$!0)/$*)͘./-$)"ϒ0-$͙0. ͘ϒ'$ )/͙̪./-$)"͜ - /0-)ϒ'$ )/̾Ј- ,0 ./͘) 2 ,0 ./͘ϒ0-$͙͙̾Ј" /*4͙̾͘Ј0!! -͙̫͘ ̫͝ ϒ!0/0- .Ѕ͚ (+͠.4)͘!)͙͘ЅЈϒ- ,0 ./ )' -̱͘#//+.̪͞͞#//+.//̨0.̠̞̞̯͞.' +Ѕ̣̞̞̱͙͙̩ (+͠.4)͘!)͙͘ЅЈϒ- ,0 ./ )' -̱͘#//+.̪͞͞#//+.//̨0.̠̞̞̯͞.' +Ѕ̠̞̞̱͙͙̩ ̫͛ ϒ*$ .Ѕ(+͠0/0- ͠2$/͘ϒ!0/0- .͙̫ 6RXUFHKWWSVJLWKXEFRPDPSKSKWWSFOLHQWWUHHYH[DPSOHVFRQFXUUHQF\ Ƒāóm”Ƒ˔˿DĢðāũŭ̒”N”˗̆ː̓ $+VSQ2E2Ƃ4VMWQE1IHME
  6. œƘĿĕŋłƘ”ũŋóāŭŭ ϒ+-* ..̟Ѕ) 2-* ..ɟɡ̱.' +̱̩̱̣̱ɢɠ̫ ϒ+-* ..̠Ѕ) 2-* ..ɟɡ̱.'

    +̱̩̱̠̱ɢɠ̫ ϒ+-* ..̟̾Ј./-/ɟɠ̫ ϒ+-* ..̠̾Ј./-/ɟɠ̫ ϒ+-* ..̟̾Ј2$/ɟɠ̫ ϒ+-* ..̠̾Ј2$/ɟɠ̫
  7. œƘĿĕŋłƘmāŭŭāłėāũ̔!ŋłóŽũũāłóāŭóÖķÖðķā .+ ̪ ($) +'$.̪̟ (3 +'$.̪̟̞ ( /-$.̪ ̾/4+

    ̪ .*0- - .*0- ̪ )( ̪+0 /-" /1 -" /$'$5/$*)̪̥̞ .XEHUQHWHV+HOP ͚+-*"-(̪( .. )" -̾*).0( ͛ *(()Ѕ͞0.-͞$)͞+#+$)͞*).*' ( .. )" -̪*).0( .4) $- /*-4Ѕ͞1-͞222͞++ +-* ..͔)( Ѕϫ͘+-*"-(͔)( ͙.͔ϫ͘+-* ..͔)0(͙̞̠ 0/*./-/Ѕ/-0 0/*- ./-/Ѕ/-0 )0(+-*.Ѕ̟̞ ./*+."-*0+Ѕ/-0 ./*+.$")'Ѕ 6XSHUYLVRUG
  8. ϒ$.Ѕϒ/#$.̾Ј )/$/4)" - ̾Ј- / 0 -40$' -͙͘ ̾Ј. '

    /̱͘$̱͙ ̾Ј!-*(͘)/$/4̪̪'..͙ ̾Ј" /0 -4͙͘ ̾Ј. / 4-/$*)* ͘0 -4̪̪ ͔  ͔ ͙ ̾Ј 3 0/ ͙̫͘ !*- #͘--4͔#0)&͘ϒ$.̩̟̞̞͙.ϒ#0)&͙͜ ϒ0.̾Ј$.+/#͘) 2 ) 3*/$!$/$*)͘ϒ#0)&͙͙̫ ͝ ­łŶũÖĢŶāĿāłŶçĕÖĢũā ŭŽũŶŋŽŶāŭķāŭāłŶĢŶĂŭùā ķÖðÖŭāùāùŋłłĂāŭ̇ ”ŽðķĢāũùāŭķŋŶŭù̡Ģùŭ ùÖłŭùāŭĿāŭŭÖėāŭ
  9. ”ũĂ̖ũāŨŽĢŭ˿ķÖðŋŽóķā '...&0 0 ͜ +-$1/ --4ϒ,0 0 Ѕ͚̫͛ +0'$!0)/$*)͘''' ϒ/.&͙

    ͜ ϒ/#$.̾Ј,0 0 ͚͛Ѕϒ/.&̫ ͝ +0'$!0)/$*)-0)͙͘ ͜ 2#$' ͘ϒ/.&Ѕ--4͔.#$!/͘ϒ/#$.̾Ј,0 0 ͙͙͜ ͢͢͞ͽ1-''' ϒ/.&͢͞ ϒ/.&͙̫͘ ͝ ͝ ͝ ([HPSOHVJX]]OHSURPLVHV7DVN4XHXHRXZHERQ\[JUDSKTOSKS6\QF3URPLVH
  10. ”ũŋĿĢŭā FāłāũÖŶŋũ DĢðāũ ”N” ,0 -4͙͘ ̾Ј/# )͘ ''' ϒ.0

    ..̩ ''' ϒ!$'0- ͙ ̾Ј/# )͘ ''' ϒ.0 ..̩ ''' ϒ!$'0- ͙̫ ''͘!0)/$*)͙̪͘͠ ) -/*-͜ ϒ- .0'/Ѕ4$ ',0 -4͙̫͘ - /0-)4$ '*͘ϒ- .0'/͙̫ ͙͝ .4)͘!0)/$*)͙͘͜ ϒ- .0'/Ѕ,0 -4͙̫͘ - /0-)*͘ϒ- .0'/͙̫ ͝ `œ ,0 -4͙͘ ̾Ј/# )͘ ''' .0 ..̩ ''' !$'0- ͙ ̾Ј/# )͘ ''' .0 ..̩ ''' !$'0- ͙ .4)!0)/$*)͙͘͜ ' /- .0'/Ѕ2$/,0 -4͙͘ - /0-)2$/*͘- .0'/͙ ͝ )͞
  11. ”ũŋĿĢŭā ŋŽFāłāũÖŶŋũ DĢðāũ ''͘--4ϒ+-*($. .͙̪-*($. Ы͚ϒ--4!'0 .͛ 2$/͘--4ϒ!0/0- .͙̪--4 Ы͚ϒ--4!'0

    .͛ .*( ͘--4ϒ+-*($. .̩$)/ϒ*0)/͙̪-*($. Ы͚ϒ--4!--*-.̩ϒ--4!'0 .͛ 2$/)4͘$)/ϒ*0)/̩--4ϒ!0/0- .͙̪--4 Ы͚ϒ--4!'0 .͛ )4͘--4ϒ+-*($. .͙̪-*($. Ы͚ϒ--4!--*-.̩ϒ--4!'0 .͛ 2$/)4͘--4ϒ!0/0- .͙̪--4 Ы͚ϒ--4!'0 .͛ !$-./͘--4ϒ+-*($. .͙̪-*($. Ыϒ!$-./'0 2$/$-./͘--4ϒ!0/0- .͙̪($3  Ыϒ!$-./'0 $+VSQ2E2Ƃ4VMWQE1IHME
  12. FāłāũÖŶŋũ ͉ ”ũŋĿĢŭā ϒ''&Ѕ!0)/$*)͘ϒ0-'͙0. ͘ϒ#//+'$ )/͙͜ ϒ- .+*). Ѕ4$ 'ϒ#//+'$

    )/̾Ј- ,0 ./̱̱̩͘ϒ0-'͙̫ - /0-)ϒ- .+*). ̾Ј/*--4͙̫͘ ͝ ϒ- .+*). .Ѕ(+͘ϒ''&̩ϒ0-'.͙̫ !0)/$*)(+͙̪͘-*($. ͜ ͞͞ /*-(+$(+' ( )//$*) ͝ DĢðāũ ͉ œƘłóĞũŋłā ϒ''&Ѕ.4)͘!0)/$*)͘ϒ0-'͙0. ͘ϒ#//+'$ )/͙͜ - /0-)ϒ#//+'$ )/̾Ј- ,0 ./̱̱̩͘ϒ0-'͙̾Ј/*--4͙̫͘ ͝ ϒ- .+*). .Ѕ--4͔(+͘ϒ''&̩ϒ0-'.͙̫ $+VSQ2E2Ƃ4VMWQE1IHME
  13. mŋłóÖŭù̡ŽŭÖėā 4VSKVEQQI8:RIXIWXYRWMXIHITVIWWIHIHMZIVXMWWIQIRXKVERHTYFPMG-PIWXGSQTSWȖHITEKIWVMGLIWIR GSRXIRYWZEVMȖW'ƅIWXPƅI\IQTPIUYINIZEMWYXMPMWIVTSYVGIXXITVȖWIRXEXMSR Ɣ 1ZMWMXIWTEVQSMW Ɣ HȖZIPSTTIYVW Ɣ HȖTPSMIQIRXWIRTVSHYGXMSRTEVNSYV Ɣ

    VSYXIW7]QJSR] Ɣ WIVZMGIW Ɣ XIQTPEXIW8[MK Ɣ OPMKRIWHIGSHI4,4 OTSYVPIWXIWXW Ɣ FEWIHIHSRRȖIW)PEWXMGWIEVGL Ɣ QWXIQTWHIVȖTSRWIQS]IR Ɣ VIJSRXIWKVETLMUYIWHITYMW $+VSQ2E2Ƃ4VMWQE1IHME
  14. 'āŭĢėłœƘŭŶāĿ &MFPMSXLȕUYIHIGSQTSWERXWVȖYXMPMWEFPIW 0EQMWIIRTPEGIHIGIXSYXMPVȖTSRHȍTPYWMIYVWSFNIGXMJW Ɣ :SGEFYPEMVIGSQQYRIRXVIHIWMKRIVWIXHȖZIPSTTIYVW Ɣ )\TȖVMIRGIHIREZMKEXMSRGSLȖVIRXITSYVPIWYXMPMWEXIYVW Ɣ %GGȖPȖVIVPIWXIQTWHIHȖZIPSTTIQIRX Ɣ

    'IRXVEPMWIVPIWȖPȖQIRXWKVETLMUYIWIXPIWKYMHIWHIWX]PIYXMPIWȍPEGSQQYRMGEXMSRHY4VSHYMX 䋻*EGMPMXIVPIXVEZEMPHIWȖUYMTIWIXHIVȖHYMVIPEHIXXIHIWMKRIXXIGLRMUYI 䋻)GSW]WXȕQIGSLȖVIRXTSYVYRIQIMPPIYVII\TȖVMIRGITSYVPIWYXMPMWEXIYVW $+VSQ2E2Ƃ4VMWQE1IHME
  15. '..$ - //+'$ )/$(+' ( )/.4(!*)4͠*)/-/.͠ //+'$ )/͠ //+'$ )/

    )/ -! ͜ +0'$!0)/$*)͔͔*)./-0/͘+-$1/  //+'$ )/ )/ -! ϒ#//+'$ )/͙͜͝ +0'$!0)/$*)- ,0 ./͘./-$)"ϒ( /#*̩./-$)"ϒ0-'̩--4ϒ*+/$*).Ѕ͚͙̪͛ .+*). )/ -! ͜ ϒ- .+*). Ѕϒ/#$.̾Ј#//+'$ )/̾Ј- ,0 ./͘ϒ( /#*̩ϒ0-'̩ϒ*+/$*).͙̫ ͠(+͠ '4̞͙̫͘ - /0-)ϒ- .+*). ̫ ͝ ͞͞./- ()2$/#+/$*).- +-*3$ . ͝ ”ũŋŶŋŶƘťāŶũďŭĢłóŋĿťķāŶù̡ĢĿťķĂĿāłŶÖŶĢŋłùāœƘĿĕŋłƘNŶŶť!ķĢāłŶÖƑāóDĢðāũ $YHFJHVWLRQG¶RUGUHG¶DUULYpHKWWSVJLVWJLWKXEFRP*URP1D1DDFFDFFDFFI