2015-08-13 13 views
7

Ich habe den Quellcode in einer TFS 2012-Installation vor Ort gehostet. Wenn ich versuche, meinen Azure WebJob von Visual Studio 2015 in Azure zu veröffentlichen, erhalte ich den folgenden Fehler.Fehler beim Erstellen des Webjob-Zeitplans

Fehler: Beim Erstellen des WebJob-Zeitplans ist ein Fehler aufgetreten: Der Antwortstatuscode zeigt keinen Erfolg an: 409 (Konflikt).

Der WebJob wird zwar unter der Webanwendung erstellt, ist jedoch auf "On Demand" anstatt auf "Geplant" eingestellt.

Wenn ich Fiddler öffnen, um zu versuchen, dieses Problem zu beheben, erhalte ich den folgenden Fehler.

Fehler ERROR_CONNECTION_TERMINATED: Die Webbereitstellungsaufgabe ist fehlgeschlagen. (Web Deploy ein Verbindungsproblem mit dem Server erfahren und hatte die Verbindung zu beenden Wenden Sie Serveradministrator, wenn das Problem weiterhin besteht Erfahren Sie mehr unter:... http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CONNECTION_TERMINATED)

Wie kann ich meine geplante WebJob zu Azure veröffentlichen? Oder zumindest spezifische Fehler bekommen?

Antwort

1

Ich hatte mehrere Male Probleme mit der Bereitstellung von Web-Aufträgen und musste sie manuell über das Azure-Portal bereitstellen. Es ist irgendwie ärgerlich, aber viel zuverlässiger.

+0

Ich konnte einen geplanten Auftrag manuell über das Portal erstellen, aber der manuelle Ansatz macht eine fortlaufende Integration unmöglich. –

5

Wenn VS Werkzeug nicht funktioniert, und Sie wollen nicht den Scheduler manuell einrichten, können Sie versuchen, die in Scheduler gebaut verwenden, das Kudu (die Web Apps Rahmen Management) bietet - https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob

So planen Bei einem ausgelösten WebJob müssen Sie der Datei settings.job eine Zeitplaneigenschaft hinzufügen. Der Wert des Zeitplans ist ein Cron-Ausdruck, der 6 Felder zur Darstellung des Zeitplans aufweist: {second} {minute} {hour} {day} {month} {day of the week}.

Sie müssen eine Standard-WebApp mit "Always On" aktivieren, damit dies funktioniert.

Sie fügen also nur Folgendes zu einer Einstellungsdatei hinzu, wenn Sie alle 5 Minuten ausführen möchten.

{ 
    "schedule": "* */1 * * * *" 
} 

Entschuldigung für die Werkzeugprobleme, es ist etwas, was ich versuche zu lösen.

+1

Siehe auch http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/ für weitere Informationen zu diesem Mechanismus. –

+0

Kudu mag für mich nicht gut geeignet sein, da wir eine On-Premise-TFS-Installation haben, von der wir bereitstellen werden. Ich weiß, dass ich das nicht in die Frage aufgenommen habe. –

+0

Kudu ist nicht nur eine Bereitstellungs-Engine für Dinge wie git und hg, die Sie bei der Bereitstellung von TFS nicht benötigen, sondern auch die Engine, auf der WebJobs ausgeführt wird. Wenn Sie heute einen WebJob haben, ist Kudu der, auf dem es läuft. Sie können also den Kudu-Scheduler verwenden, wie Chris erklärt hat. – ahmelsayed

16

Ich hatte das gleiche Problem und es stellte sich heraus, dass der Veröffentlichungsprozess fehlgeschlagen, weil ich es alle 10 Minuten wiederholen, während die App im freien Tier ausgeführt werden sollte. Wie MS hier beschreibt:

https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/

man kann in Minuten definiert mit allen anderen Frequenzen als diejenigen bereitstellen.

+1

+1 Vielen Dank, ich habe diesen Artikel mehrmals gelesen und diesen Abschnitt nie wirklich gelesen! Das Ändern der jobRecurrenceFrequency in webjob-publish-settings.json zu "Hour" hat für mich funktioniert! –

+0

Ich habe eine P1 (Premium) Tier, aber es war auch nicht erlaubt, mit 30 Minuten zu veröffentlichen. Es scheint seltsam, dass sie diese Option haben, aber erlauben Sie nicht, sie mit seltsamen Fehlern zu veröffentlichen ... –

+0

Wenn Sie eine Scheduler Job Collection von Free in Basic oder Premium konvertieren, denken Sie auch daran, die "Max Recurrence" im Abschnitt Quotas zu ändern. Die standardmäßige maximale Anzahl von kostenlosen Scheduler-Job-Sammlungen beträgt 1 Stunde und wird nicht aktualisiert, wenn Sie Ihre kostenlose Job-Sammlung in Basic oder Premium umwandeln. –