2017-03-16 57 views
0

我曾在我的開發人員計劃的好處訂閱運行兩個計劃的作業。我最初使用經典門戶進行設置。自從我在免費套餐以來,我將它們設置爲每小時運行一次。一切工作正常,直到我不得不重新部署代碼(控制檯應用程序)Azure的預定作業無法執行

第一個問題 - 我找不到方法來輕鬆更新計劃作業的代碼,所以我刪除它們並重新創建它們我嘗試從該門戶首先創建WebJob,然後轉到計劃的作業集合並創建Web作業的計劃。

但是每次運行時,它失敗,出現以下錯誤

的Http行動 - 從主機「mysite.scm.azurewebsites.net」迴應: 「未授權」響應頭:日期:週四,16 2017年3月4點07分00秒GMT

服務器:Microsoft-IIS/8.0

WWW身份驗證:基本境界= 「網站」

身體: 401 - 未經授權:訪問被拒絕由於無效 憑據.....

和其他一些HTML的東西無關的錯誤

我試圖也給工作直接從Visual Studio 2015年部署(最新更新) 但是會發生相同的結果,運行作業失敗並出現相同的錯誤。

這是我的理解,即使在自由層我應該能夠運行計劃工作(其中5人)每小時。

爲什麼會失敗,抱怨憑據?

編輯:作業從應用程序服務中運行 - WebJobs所以沒有什麼錯在工作本身,代碼執行正確,我不能讓它從調度運行。

+0

也許這將有助於:http://stackoverflow.com/questions/33507779/publishing-web-app-to-azure-websites-staging-deployment-slot-fails-with-webjob/33521439#33521439 – RAS

+0

你有沒有在日程安排工作中設置'Authorization'標題?它需要包含'Base <部署證書在基礎64>',你需要把部署用戶名和密碼與冒號':'('')連接起來並對其進行64位編碼。 – juunas

+0

@ununas中的名稱值對?我嘗試過,但它仍然失敗,我把基本的名稱,併爲了價值,我去了這個網站https://www.base64encode.org/並把($用戶名:密碼)像括號和冒號像那樣並將其編碼並將值粘貼到值字段中...仍然不起作用 – erotavlas

回答

0

據我所知,當您沒有在您的日程安排作業的操作設置標籤中設置身份驗證信息時,會出現「由於證書無效而導致訪問被拒絕」錯誤。

的錯誤是象下面這樣: enter image description here

我建議你找你的webjob的用戶名和密碼,首次。

你可以在webjob的屬性標籤中找到它。

象下面這樣:

enter image description here

然後,你可以設置在動作的設定的用戶名和密碼。

,它將正常工作。

enter image description here

+0

它不會讓我。它說我需要升級我的計劃。這不是一個選項。即使在免費層面,我們也應該能夠運行5個預定的工作,所以這是沒有意義的。 – erotavlas

+0

文檔也是過時的。 https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-create-web-jobs#a-namecreatescheduledacreate-a-scheduled-webjob-using-the-azure-scheduler「 Azure門戶還不具備創建預定WebJob的功能,但在添加該功能之前,您可以通過使用經典門戶來完成此功能。「但是,該功能最近已從經典門戶中刪除。 – erotavlas

+0

是的,如果要在計劃的集合中使用HTTP出站授權對象,則必須使用標準集合及更高版本。 由於azure新門戶已使用CRON和timertigger移除了預定的webjob。正如你所說,它需要Web應用程序始終on.So我認爲現在我們沒有一個好方法來在免費層運行預定的webjob。 –

0

你能夠基於斷Cron expression來運行你的日程安排?這篇文章強調了如何使用settings.job文件來提供執行時間表。這裏有一些example cron expressions爲你找出這種情況是否會奏效。

+0

我看着這個,但我認爲一般的網絡作業有一個有限的生命週期(20分鐘)爲了使CRON表達式作爲一個調度程序工作,我認爲你必須啓用一個名爲'永遠在線'的選項,但是這個選項是可用於基本或更高級別的計劃。因此需要使用調度程序來觸發它。它可能工作的唯一方法是保持scm網站的活着,但仍然需要一個外部觸發器 - 請參閱http://stackoverflow.com/a/28905968/1462656 – erotavlas

+0

哦,是的,這是正確的,我忘了你正在運行免費的一級。 –