sql >> Database >  >> NoSQL >> Redis

Time-outuitzondering na asynchrone opdrachten en Task.WhenAny wacht in StackExchange.Redis

Op basis van een lange discussie in de chat en veel speurwerk, lijkt het erop dat in sommige obscure scenario's de TPL de speciale lezersthread kaapt wanneer we dingen doen zoals .TrySetResult (wat:we vaak doen). Dit veroorzaakt een onmiddellijke impasse als je een synchrone aanroep doet, omdat het onmogelijk socketgegevens kan verwerken als het bezig is te wachten op een taak die is voltooid (die alleen ooit zou worden voltooid). We hebben inderdaad code specifiek om dit te voorkomen , maar het lijkt erop dat de tijdelijke oplossing forceert het gebeurt in sommige andere scenario's. Wat... verschrikkelijk is. Ik zal kijken wat ik kan vinden. Maar eigenlijk is het probleem dat momenteel , in sommige beperkte scenario's , TaskCompletionSource.TrySetResult geeft de TPL de macht om synchrone voortzettingen uit te voeren. Dit omvat Task.WhenAny .




  1. Een Docker redis-container instellen met ssl

  2. mongo 3 duplicaten op unieke index - dropDups

  3. Mongoose kan geen verbinding maken zonder internet

  4. Redis - Aangepaste conversies configureren