2016-10-25 78 views
0

前段時間,我使用Azure調度程序服務設置移動作業,以定期在Azure SQL數據庫上運行存儲過程。大約在四月份,這個遷移到了新的Azure Portal,從那以後它沒有成功運行。Azure調度程序作業超時

存儲的proc需要大約90秒才能運行,並且我懷疑在完成之前超時了。它在遷移之前沒有超時,所以我想我必須通過連接字符串或其他方法修復它。

下面是我運行了完整的腳本:

function runTasks() {  
    var sql = "exec [dbo].[runTasks]"; 
     console.log("Executing runTasks..."); 
     mssql.query(sql,{ 
     success: function(results){ 
     console.log("Finished the runTasks job."); 
     }, 
      error: function(err) { 
      console.log("error is: " + err); 
     } 
    }); 
} 

有沒有什麼辦法可以增加這個調用超時?

(我甚至某些地方使用此代碼連接字符串現在它已經遷移到新的門戶所在。)

回答

0

由於我運行的作業是SQL作業,因此我在Azure VM上安裝了SQL Server Management Studio,並將其設置爲預定的SQL Agent作業。這超過了超時問題。

0

您可以參考https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/#_on-demand-jobs有關計劃程序作業遷移後的詳細信息。

此外,我們建議您將所有按需作業轉換爲WebJobsFunctions。將新的調度程序作業編寫爲WebJobsFunctions

此外,即使您的webjob腳本正在運行,移動應用程序也會在空閒一段時間後被卸載。

默認情況下。這使系統節約資源。在基本或標準模式下,您可以啓用始終開啓以保持應用程序始終加載。特別是如果您需要運行連續或長時間工作或任務,則應啓用始終開啓。您可以在管理門戶中修改此設置,有關詳細信息,請參閱Configure web apps in Azure App Service

+0

嗨加里。我當前的WebJob由調度程序服務運行。它工作正常,除了超時運行存儲過程。我已決定放棄所有這些並採取完全不同的方法(例如hangfire.io) – dylanT

+0

您可以嘗試在Azure門戶中配置應用程序設置'SCM_COMMAND_IDLE_TIMEOUT',以放大Web應用程序的請求超時設置。 –

+0

我剛剛試過(還有WEBJOBS_IDLE_TIMEOUT),但它們沒有任何區別。 Webjob調用Web應用程序的問題是否超時?還是與Web應用程序調用存儲過程? – dylanT