2017-02-22 3 views
0

Ich habe eine Azure-Funktion auf einem Verbrauchsplan eingerichtet, der 6 einzelne Timer-Triggerfunktionen enthält.Azure Function on Time Auslöser nicht ausgelöst

  • 3 von ihnen jede Stunde um 5 nach der vollen Stunde Feuer (0 5 * * * *)
  • 1 von ihnen feuert um Mitternacht jede Nacht (0 0 0 * * *)
  • 1 von ihnen Feuer an einem Montag um 8 Uhr morgens (0 0 8 * * Mo)
  • Und die letzte ist alle jeden Morgen um 1.00 Uhr Feuer soll (0 0 1 * * *), ist aber nicht

Sie sind Kopien derselben Anwendung, aber je nach den Befehlszeilenargumenten unterschiedliche Aktionen. Sie werden durch ein Run.ps1-Powershell-Skript ausgelöst, das die entsprechenden Befehlszeilenargumente enthält.

Gestern um 09:40 habe ich versucht, die Problemfunktion manuell auszuführen und es lief, so änderte ich den Zeitplan zu (0 0 11 * * *) und es lief um 11 Uhr wie erwartet. Also änderte ich den Zeitplan zurück zu (0 0 1 * * *), aber um 1 Uhr heute Morgen es lief nicht :(

enter image description here

Ich werde zu ändern, den Zeitplan versuchen, damit es läuft an 2 Uhr morgens, wenn etwas um 1 Uhr morgens ein Problem verursacht, aber anders als das, was kann ich noch versuchen?

+0

Ich habe das gleiche Problem mit Verbrauchsplan/Funktion App und Timer + EventHub-Trigger. Wenn die App nicht aktiv ist, werden diese Auslöser nicht ausgelöst. Wenn ich ein HttpRequest in der App triggere, kommt es "lebendig" und die anderen Auslöser laufen für eine Weile. MS Support schlug vor, die Funktions-App vollständig zu löschen und erneut bereitzustellen. Das hat eine Weile geholfen. Ich werde bald in App Service Environment wechseln und daher bald einen dedizierten Plan, und das Problem sollte nicht auftreten. Andere Idee, die ich hatte: feuern Sie einen leeren Web Test/Http Request häufig mit AppInsights. Aber das sind alles Problemumgehungen - Grundursache nicht gelöst. –

+0

Wäre es Ihnen/Ihnen/Ihnen beiden wichtig, die Namen Ihrer Funktion entweder öffentlich oder [heimlich] zu teilen (https://github.com/projectkudu/kudu/wiki/Reporting-your-site-name-without-posting-it-publicely)? . Ich kann in die Logs graben und schauen, ob ich herausfinden kann, was passiert. – brettsam

+0

tht-test-funktion – littlecharva

Antwort

1

Ich denke, dass Sie möglicherweise ein Problem mit der Berechnung haben, wenn Ihr Timer überfällig ist. Ich habe das Problem hier eingereicht: https://github.com/Azure/azure-webjobs-sdk-extensions/issues/194.

In den Protokollen, die ich durchgesehen habe, habe ich gesehen, dass Ihre Funktions-App kurz vor 1:00 Uhr aufgrund einer Änderung an einer function.json-Datei neu gestartet wurde. Als es wieder kam, war es nach 1 Uhr morgens (was es hätte laufen lassen müssen), aber weil es noch nie zuvor gelaufen war, berechneten wir die "nächste" Zeit falsch.

Ich suche eine Lösung für diese - Sie können mit dem obigen Link folgen.

Wenn Sie oder @KaiWalter mehr Instanzen von fehlenden Funktionsaufrufen sehen, lassen Sie es mich wissen, damit ich bestätigen kann, dass dies passiert.

+0

Dank brettsam. – littlecharva

+0

Ich habe ein anderes Beispiel für eine Funktion nicht ausgeführt: gleiche Konto, Funktion app mit m2 im Namen und die betreffende Funktion heißt ComparisonTest. Es sollte um Mitternacht laufen, aber die Protokolle zeigen, dass es nicht war. Können Sie bestätigen, dass dies auf das gleiche Problem zurückzuführen ist? – littlecharva

+0

Ja, es sieht so aus als wäre es das gleiche Problem. Danke für die Info, das hilft es zu bestätigen. – brettsam

0

Wenn Ihre Funktionsanwendung eine nicht standardmäßige Zeitzone angibt (unter Verwendung von APPSETTING_WEBSITE_TIME_ZONE), stoßen Sie wahrscheinlich auf ein bekanntes Problem: https://github.com/Azure/azure-webjobs-sdk-script/issues/995

Die Fehlerbehebung für dieses Problem wurde gestartet und die Bereitstellung sollte abgeschlossen werden der Woche.

+0

Ich benutze das nicht, aber danke für das Update. – littlecharva

+0

Ok, aber in diesem Fall, beachten Sie, dass Ihr Zeitplan auf UTC-Zeit basiert. Könnte das der Grund sein, warum es nicht läuft, wenn du es erwartest? –

+0

Guter Punkt, aber die Mitternacht lief gut, und seit ich es um 2 Uhr geändert habe, scheint es in Ordnung zu sein. – littlecharva

Verwandte Themen