2016-04-05 8 views
4

Ich habe einen WebJob auf die vorgeschlagene Weise mit Visual Studio bereitgestellt, klicken Sie mit der rechten Maustaste auf das Konsolenprojekt, wählen Sie "Als Azure-Webjob veröffentlichen" und gehen Sie die Einstellungen durch. wähle ich einen geplanten Scan ausführen, was die Datei „webjob-publish-settings.json“ verursacht im Eigenschaften-Ordner mit folgendem Inhalt erstellt werden:Azure ignoriert Zeitplaneinstellungen für WebJob

{ 
    "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", 
    "webJobName": "TestCredentials2", 
    "startTime": "2016-04-05T01:00:00+01:00", 
    "endTime": "2016-04-12T00:00:00+01:00", 
    "jobRecurrenceFrequency": "Minute", 
    "interval": 3, 
    "runMode": "Scheduled" 
} 

Während der Einsatz gearbeitet, die webjob im Zustand „On Demand“. Der Webjob wird einmal ausgeführt, wenn ich es manuell innerhalb des Azure-Portals starte, aber nie automatisch neu startet.

Ich habe auch versucht ein „settings.job“ an die Wurzel meines Projektes (mit der Einstellung „Kopieren, falls neueren“) hinzuzufügen:

{ "schedule": "0 /5 * * * *"}

Noch keinen Unterschied im Verhalten, aber auch nicht Fehlermeldung.

+0

Der vorgeschlagene Ansatz besteht darin, CRON-Ausdrücke zu verwenden (https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/#CreateScheduledCRON). Ihre Fragen fragen nach beiden gleichzeitig, so dass es wahrscheinlich zu Verwirrung zwischen den beiden kommt (es sind wirklich Fragen). Wenn Sie Schwierigkeiten haben, den CRON-Ausdruck zum Laufen zu bringen, schlage ich vor, eine Frage zu stellen, die ausschließlich darauf abzielt. –

+0

Ich habe die zweite (settings.job) hinzugefügt, nur weil der erste Ansatz in der Hoffnung nicht funktioniert hat, dass das funktionieren könnte. –

+0

Verstanden, aber das landet irgendwie zwei Fragen, da sie sehr unterschiedlich arbeiten. –

Antwort

10

Es funktioniert mit dem settings.job Ansatz. Die folgenden Dinge getan werden musste:

1. Create a settings.job with the content in the question 
2. select Build Action "Content" for that file 
3. Select "Copy if newer" 
4. Delete the generated "Properties/webjob-publish-actions.json" 
5. Re-Publish the Project, chose "On Demand" instead of a schedule plan 

damit eine neue webjob-Publish-actions.json:

{ 
     "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json", 
     "webJobName": "MyTimer", 
     "startTime": null, 
     "endTime": null, 
     "jobRecurrenceFrequency": null, 
     "interval": null, 
     "runMode": "OnDemand" 
    } 

Fertig.

Verwandte Themen