aws / aws/aws-lambda-dotnet

Use ILambdaContext.RemainingTime to create a valid CancellationToken for AspNetCoreServer Requests

Aperta
#1,561 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
feature-request module/aspnetcore-support p2 queued
Lingua principale
C#
Stelle
1.7k
Fork
503
Merge medio
1g 18h
PR unite (30g)
21

Descrizione

### Describe the feature

Currently when a Lambda execution times out, a AspNetCore request continues to execute even if it is checking a CancellationToken parameter for cancellation.

This feature would create a new CancellationTokenSource using ILambdaContext.RemainingTime and request cancellation when remaining time reaches or nears zero. This would allow consumer code to cancel long running operations in a way that is more controlled. This would create similar functionality to how timeouts are handled in Kestrel and IIS

### Use Case

Due to upstream concurrency limitations, we sometimes have a lambda AspNetCore request timeout. Since the CancellationToken passed into the request is never cancelled, we continue to try to execute retry requests in the background if a lambda is reused.

### Proposed Solution

_No response_

### Other Information

_No response_

### Acknowledgements

- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### AWS .NET SDK and/or Package version used

Amazon.Lambda.AspNetCoreServer.Hosting 1.5.0

### Targeted .NET Platform

net6.0

### Operating System and version

AmazonLinux (Lambda)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia tracciando come Amazon.Lambda.AspNetCoreServer.Hosting 1.5.0 crea il CancellationToken delle richieste AspNetCoreServer e accede a ILambdaContext. Definisci il comportamento di annullamento in relazione a ILambdaContext.RemainingTime, inclusa la soglia prossima allo zero, quindi verifica che il lavoro delle richieste di lunga durata rilevi l’annullamento prima del timeout di Lambda e che le Lambdas riutilizzate non continuino i tentativi in background.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
aws, csharp
Ambito
api, backend, cloud
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.