2015-09-22 15 views
5

Wir haben einen Fehler in unserem WebJob läuft in unserer Live-Umgebung, ich habe den Fehler identifiziert und behoben, das kann ich in unserer Dev-Umgebung überprüfen. Ich habe meinen WebJob als "Azure WebJob" in unserer Live-Umgebung veröffentlicht. Um die Verwirrung zu verstärken, tritt der Fehler jetzt nur manchmal auf. Aus irgendeinem Grund läuft der alte Code manchmal irgendwo.Azure WebJob läuft alten Code

Kann mir bitte jemand helfen, dies zu verstehen?

+0

Hier ist die PowerShell zum Stoppen eines Webjobs in einem Slot: Stop-AzureWebsiteJob -Name $ webAppName -JobName $ webjobName -PassThru -Slot $ destinationSlot – RuSs

Antwort

4

Ich hatte ein ähnliches Problem. Wir stellen eine Stage-Umgebung in Azure bereit und es stellte sich heraus, dass die "alten" WebJobs (die Code mit einer alten Version des Entity-Framework-Modells ausführen) immer noch in der Warteschlange ausgeführt wurden. Diese Jobs haben dann Nachrichten abgerufen und verbraucht. Um das Problem zu beheben, wurde die Exception in einem try catch konsumiert und der Status des WebJobs war erfolgreich.

Überprüfen Sie, ob Sie eine Stage-Umgebung haben (fügen Sie -Stage zum WebApp-Namen hinzu) und wenn ja, gehen Sie in das Azure-Verwaltungsportal und stoppen Sie sie.

Hinweis, es reicht nicht, die Webapp zu stoppen, Sie müssen die WebJobs direkt stoppen. Dies geschieht (im neuen Portal) unter Settings-> WebJobs und dann mit der rechten Maustaste auf den Namen des Web-Jobs, indem Sie Stop wählen.

How to stop WebJob

+0

Vielen Dank! Lektion gelernt, wird immer die Bühne stoppen nach der Überprüfung, dass alles in der Zukunft läuft ... – Oskar

1

Ich habe Alter in dieses Problem suchen. Es stellte sich heraus, dass ich das Web-Job-Projekt in einer Konsole auf meinem PC bei der Arbeit ausgeführt hatte! Egal, was ich auf Azure gemacht habe, das Vorhandensein dieser exe-Ausführung und die Verwendung des gleichen Speichers für die Web-Jobs bedeutete, dass der alte Code, der auf meinem Arbeits-PC lief, die Jobs aufnahm, bevor Azure das getan hatte. Einfache Lösung: Achte darauf, dass keine Exes außerhalb von Azure laufen!

Verwandte Themen