Ich habe eine Worker-Rolle in einer A7 Azure Worker-Rolle. Die Rolle ist ein ASP Webapi.Azure Worker mit Webapi-Rolle Unerwarteter Neustart
Wenn die Rolle läuft, kann ich ihr einen Befehl senden (über eine Webschnittstelle), der einen Datenaggregationsprozess startet, der bis zu 8 Stunden dauert.
In dieser Zeit wird ein großes Objektdiagramm erstellt.
Dies funktionierte für Monate ohne Probleme.
Jetzt scheint es manchmal, als ob die Rolle oder die API in der Mitte der Erstellung neu gestartet wird.
Einmal konnte ich es in das azur Management-Portal beobachten, und es sah wie folgt aus:
Aber keine restartes sind in den Protokollen.
Wo befindet sich Ihre Datenaggregationslogik? In der Web-API-Ebene oder in einem separaten Prozess? Und hosten Sie WebAPI in Ihrer Worker-Rolle oder mit IIS? Ich frage, weil IIS für eine 8-stündige, speicherintensive Arbeitslast nicht gut geeignet ist. – JoshL
Wir haben gerade eine Worker-Rolle mit der Standardvorlage vs Projektvorlage erstellt, die nicht sicher ist, welche Konfiguration standardmäßig erstellt wird. –
Wird Ihre Web-API in einer * worker * -Rolle oder einer * web * -Rolle mit IIS ausgeführt? (https://azure.microsoft.com/en-us/documentation/articles/fundamentals-application-models/#tellmecs) Wenn es eine echte Arbeiterrolle ist, dann ist das eine gute Wahl, um eine 8-Stunden-Aufgabe auszuführen, aber das würdest du tun Sie müssen die Web-API-Schicht sorgfältig von der langfristigen Logik trennen (normalerweise mit einer separaten Rolle + Warteschlangen). Wenn es sich um eine Web-Rolle handelt, dann ist das nicht der richtige Ort, um eine 8-stündige Arbeitslast zu bewältigen. Im Allgemeinen denke ich, dass Sie die Web-API-Ebene formal von der langfristigen Logik trennen müssen. Sie sollten in getrennten Rollen sein. – JoshL