2016-01-29 47 views
5

前段時間,我使用Visual Studio(2015)創建WebApp,控制檯應用程序,並將該控制檯應用程序作爲OnDemand WebJob鏈接到WebApp。我發佈了整個Azure和網站,WebJob和Scheduler Job完美地工作。Azure調度程序無法觸發與WebApp一起發佈的OnDemand WebJob

上週,我注意到WebJob不再運行。該網站正在不斷髮展,所以我不確定這是由於我們應用的代碼發生了變化還是由於Azure中的某些內容所致。無論我嘗試什麼(包括完全刪除作業,日程表和Web應用程序中的App_Data中的文件夾),當我從VS發佈WebApp時,將重新創建Webjob,但調度程序因下面的錯誤而失敗。

Http Action - Response from host 'mysite.scm.azurewebsites.net': 'Unauthorized' Response Headers: Date: Fri, 29 Jan 2016 07:02:01 GMT 
Server: Microsoft-IIS/8.0 
WWW-Authenticate: Basic realm="site" 

Body: 401 - Unauthorized: Access is denied due to invalid credentials. Server Error 

任何線索什麼可能會導致此問題或我可以收集哪些額外的信息來追蹤實際問題?

感謝, 埃裏克

回答

2

這意味着你的HTTP請求mysite.scm.azurewebsites.net(您webjob等待)不會對請求權creds。

轉到您的portal.azure.com,然後在計劃程序集合中打開計劃的Web作業。在動作磁貼中,你看它是否使用任何驗證?如果不是選擇基本認證。在這裏你需要輸入你的web應用的用戶名和密碼。您可以從Web應用程序的發佈配置文件中獲取這兩個值。如果您不知道它在哪裏,請參考此post

+1

感謝您的正確方向提示。我嘗試在Azure門戶中添加身份驗證憑據,並獲得一個錯誤消息,說明免費任務集合不能包含具有身份驗證的任務。最後,我決定創建一個簡單的批處理作業,通過http-post觸發webjob,直到我有足夠的預算將計劃任務集合升級到Standard或Premium。 – Erik123

+0

是的,我在使用免費作業集時遇到了同樣的問題。一旦你升級它,它應該工作。 – Haymaker87

+0

我遇到了同樣的問題,但我不想升級到付費的網絡工作!有沒有其他辦法可以解決這個問題? – Farlop

0

我有這個問題,我發現它的修復。

默認情況下,如果您的作業集合中包含多個webjob。您會發現驗證頭僅添加到第一個作業,而不是其他的。因此,您確實需要將這兩個頭文件複製到其他作業中,並修復了scudeuler問題機器人能夠在Azure中運行計劃作業。

我張貼在如何解決這一問題的詳細解決方案:

http://www.mostafaelzoghbi.com/2016/02/azure-scheduler-fails-to-trigger.html

3

我們做了一個調整的WebJobs發佈的NuGet併發布了一個更新它。此更新解決了調度程序auth頭問題。一旦你將發佈NuGet更新爲1.0.11版本,這個問題將得到解決。

https://www.nuget.org/packages/Microsoft.Web.WebJobs.Publish/1.0.11

+0

有一個upvote。幹得好,你破了什麼東西,生氣了,仍然設法得到stackoverflow業力... – Skarsnik

+0

,然後我們修復它。我們的意思是,三支球隊。沒有人能夠修復或破壞這麼龐大的東西。 –

+0

此外,我們對這整個體驗有了一些巨大的改進。再次道歉,並希望更新修復你。如果沒有直接聯繫,我們會盡力解決。 –

相關問題