2016-04-05 3 views
4

Я развернул WebJob предлагаемый способ с помощью Visual Studio, щелкните правой кнопкой мыши на проекте консоли, выбрав «Опубликовать как Azure Webjob» и пройдя через настройки. Я выбрал запланированный план, что вызвало файл «webjob-publish-settings.json», который будет создан в Properties-папке со следующим содержимым:Azure игнорирует настройки расписания для 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" 
} 

Хотя развертывание работало, то webjob находится в состоянии «On Demand». Webjob запускается один раз, когда я запускаю его вручную из Azure Portal, но не перезапускает его автоматически.

Я также попытался добавить «settings.job» в корень моего проекта (с настройкой «Копировать если новее»):

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

Все еще нет никакой разницы в поведении, но и нет сообщение об ошибке.

+0

Предлагаемый подход заключается в использовании выражений CRON (https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/#CreateScheduledCRON). Вы задаете вопросы одновременно обоим, так что это может вызвать путаницу между ними (это действительно вопросы). Если у вас возникли проблемы с получением выражения CRON, я предлагаю задать вопрос, который сосредоточен на этом исключительно. –

+0

Я добавил второй (settings.job) только потому, что первый подход не работал в надежде, что это может сработать. –

+0

Понял, но это заканчивается тем, что задает два вопроса, поскольку они работают по-разному. –

ответ

10

Это действительно работало с использованием подхода settings.job. Следующие вещи нужно было сделать:

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 

это создает новый webjob-публикации-actions.json:

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

Done.

Смежные вопросы