前段时间我使用Azure调度程序服务设置了一个移动作业,以定期在Azure SQL数据库上运行存储过程。在大约四月,这已经迁移到新的Azure门户,从那时起它还没有成功运行。
存储过程需要大约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 :(得分:0)
有关迁移后调度程序作业的详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/#_on-demand-jobs。
另外,我们建议您将所有按需作业转换为WebJobs或Functions。将新的调度程序作业写为WebJobs或Functions。
此外,即使您的webjob脚本正在运行,如果移动应用程序闲置一段时间也会被卸载。
默认情况下。这使系统可以节省资源。在“基本”或“标准”模式下,您可以启用“始终开启”以始终加载应用程序。特别是如果您需要运行连续或长时间的工作或任务,您应该启用Always On。您可以在管理门户中修改此设置,有关详细信息,请参阅Configure web apps in Azure App Service。
答案 1 :(得分:0)
由于我正在运行的作业是一个SQL作业,因此我在Azure VM上安装了SQL Server Management Studio,并将该任务设置为计划的SQL代理作业。超过了超时问题。