Best Practices für die Reinigung eines gleichzeitigen Abschieds von Hintergrundjobs in einem Dateigenerierungsdienst [geC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Best Practices für die Reinigung eines gleichzeitigen Abschieds von Hintergrundjobs in einem Dateigenerierungsdienst [ge

Post by Anonymous »

I'm building a microservice that handles asynchronous file generation with the following flow:
  • POST request - Creates a file generation job
  • Stores the job in a ConcurrentDictionary
  • Returns a job ID to the client
  • Get Anforderung-Client ruft die generierte Datei mit der Job-ID
vereinfachte Implementierung :
:private readonly ConcurrentDictionary _jobs;

public string CreateJob(CompositionData data) {
var jobId = Guid.NewGuid().ToString();
_jobs.TryAdd(jobId, new CustomJob(/*...*/));
return jobId;
}

///
public CustomJob? GetJob(string guid)
{
return _jobs.GetValueOrDefault(guid);
}
< /code>
Die Herausforderung besteht nun darin, dieses Wörterbuch von fertigen Jobs irgendwie aufzuräumen, und ich bin mir nicht sicher, wie ich mich daran nähern soll. Es gibt nur wenige Optionen, die mir in den Sinn kommen, aber ich frage mich, was in der Produktion verwendet wird? Oder vielleicht irre ich mich?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post