Ich habe einige Aufgaben, die mehr als 30 Minuten dauern. Ich habe keine Idee über, wie man diese Art Aufgaben aufrechterhält. Bitte helfen Sie mir auf diesemWas sind die effektiven Möglichkeiten, um die im Hintergrund laufenden Aufgaben in asp.net zu erhalten?
Antwort
Ich habe Hangfire für eines meiner Projekte für Hintergrundaufgabe verwendet, und ich fand es extrem gut.
Hangfire ist ein Open-Source-Framework, mit dem Sie Ihre Hintergrundjobs erstellen, verarbeiten und verwalten können. Es kommt mit Out-of-the-Box-Dashboard, um Ihren Hintergrundjob und viele weitere coole Funktionen zu verfolgen.
Die Dokumentation ist sehr gut, um mit dem Tool zu beginnen. Sie finden die Dokumentation here.
Es muss sowohl asynchron als auch verteilt (möglicherweise) sein. In unserem Projekt verwenden wir Akka.Net
, um solche Aufgaben zu erledigen. Es verwendet das Akteurmodell, das im Wesentlichen Teil des Codes ist, den Sie bitten, Ihre langen async
Aufgaben außer Sicht im Hintergrund zu machen.
http://getakka.net/docs/Getting%20started
var greeter = system.ActorOf<GreetingActor>("greeter");
greeter.Tell(new Greet("World"));
Anstelle von GreetingActor
, werden Sie Ihren langen laufenden Prozess haben und in der zweiten Zeile des Codes, ist ihm eine Nachricht übergeben, die es async
laufen erzählt. Es gibt auch eine <actor>.Ask()
in Fällen, wenn Sie es benötigen, um synchronous
zu sein.
- 1. Was sind die besten Möglichkeiten, um Expression Engine zu sichern?
- 2. Was sind die effektiven Möglichkeiten zum Austausch von Dateien auf verschiedenen Servern mit Shell Script?
- 3. Was sind die Möglichkeiten, Verzeichnis in einzelne Datei zu komprimieren
- 4. Was sind die idiomatischen Möglichkeiten, Tensoren in Fackel zu kombinieren?
- 5. Was sind die effektiven Unterschiede zwischen child_process.fork und cluster.fork?
- 6. Was sind die verschiedenen Möglichkeiten, einen Cursor zu ersetzen?
- 7. Was sind gute Möglichkeiten, um gerichtete Graph-Daten zu organisieren?
- 8. Was ist die optimale Anzahl von laufenden Aufgaben?
- 9. Collaborative Editing für .NET-Entwicklung - was sind die Möglichkeiten
- 10. Was sind andere Möglichkeiten, um normalisierte Daten zu definieren?
- 11. Was sind die Möglichkeiten, um das Banner/Karussell auf häufig aktualisierte Websites zu ändern
- 12. Was sind die Techniken, um Visual Web Scraper zu implementieren?
- 13. Was sind die besten Möglichkeiten, große Streaming-Dateien in die Cloud zu übertragen
- 14. Was sind einige ASP.NET GridView-Möglichkeiten zur Leistungsverbesserung?
- 15. Was sind gute Xcode-Skripte, um die Entwicklung zu beschleunigen?
- 16. Was sind die besten Möglichkeiten zur Verwendung des SQL Profiler
- 17. Was ist die korrekte Einstellung von ClientIDMode in ASP.Net 4, um ASP.Net 2.0-Rendering zu erhalten.
- 18. Was sind die besten Möglichkeiten, mehrere Bedingungen im Makefile zu überprüfen?
- 19. Was sind die besten Möglichkeiten, um eine GDB-Debugging-Sitzung zu automatisieren?
- 20. Was sind einige nette Möglichkeiten, um einen verschachtelten Hash umzukehren?
- 21. Was sind drei Möglichkeiten, um einen großen Endian BinaryReader zu erhalten?
- 22. Was sind die Voraussetzungen, um maschinelles Lernen zu lernen?
- 23. Was sind die besten Möglichkeiten zur Konsolidierung von Instanzvariablen (um Daten vom Controller an die Ansicht zu übergeben) in Rails?
- 24. Schließen Formular mit laufenden Aufgaben
- 25. Wie die aktuelle Tagesnummer im laufenden Monat und Jahr erhalten
- 26. Cordova - Benachrichtigen Hintergrund im laufenden Betrieb
- 27. was sind die wichtigsten Möglichkeiten, um ein Optionsfeld in Capybara auszuwählen
- 28. Beschleunigung von idempotenten Aufgaben, die verstreut sind
- 29. Sind EJBs immer noch nützlich? Und was sind die Spring Framework-Möglichkeiten, EJBs zu ersetzen?
- 30. Was sind die "neuen Hashfunktionen" im Kuckuckshashing?
Wahrscheinlich am besten nicht, sie auf einen Webserver sowieso zu setzen. Lassen Sie Ihren Web-Server Web-Anfragen bearbeiten. Setzen Sie die Hintergrundverarbeitung auf einen Anwendungsserver. – mason
Da Sie sich entschieden haben, die Ergebnisse Ihrer Recherche nicht einzubeziehen (zB https://www.google.com/search?q=background+running+tasks+in+asp.net), ist es schwer zu erkennen, was Sie bereits versucht haben . Das Standard-Duplikat sollte also die Grundlagen abdecken. Zeigen Sie bei zukünftigen Fragen die Ergebnisse Ihrer Recherche. –