在 azure 上发布网站时,webjobs 被删除
Posted
技术标签:
【中文标题】在 azure 上发布网站时,webjobs 被删除【英文标题】:When publishing website on azure, webjobs are deleted 【发布时间】:2014-06-28 08:20:19 【问题描述】:当我在现有站点上发布一个站点时,我创建了多个 Web 作业,这会删除服务器上的所有文件,并且所有 Web 作业都会被删除。
我认为这是因为 webjobs 存储在 App_Data 文件夹中。删除 APP_Data 目录时,作业也被删除。
如何避免在发布时删除 app_data 文件夹?
【问题讨论】:
【参考方案1】:Andy 回答的第三种选择是将 WebJobs 与您的网站一起部署,只需确保 WebJobs 脚本位于 app_data\jobs\job type: continuous/triggered\job name
下的正确位置。
了解有关部署 WebJobs 的更多信息:http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs/
【讨论】:
显然这也可以从 Visual Studio 配置:右键单击 web 项目 -> 添加 -> 现有项目为 Azure WebJob Ohhad:我试过这个,但是当我下次尝试发布我的网络项目时,它卡在了“发布...”:/【参考方案2】:我也注意到了这一点,可以提供我想出的解决方案。
如果您从 Visual Studio 发布,您可以取消选择文件发布选项“在目标位置删除其他文件”。当然,您现在不再删除服务器上未使用的文件,这可能并不理想。
另一种选择是简单地为您的网络作业创建第二个网站。您可以将站点留空,您无需向其发布任何内容或配置任何超出网络作业的内容。这种方法的一个优点是您可以与原始网站分开监控(和潜在的规模)网络作业网站。
【讨论】:
目前,我使用的是第一个选项,该选项有效,但正如您所说,它不会删除其他文件。第二个选项很好,你提到了一个很好的观点,我们可以为我们的网络作业单独监控它。会调查的。 Tnx【参考方案3】:我找到的解决方案是排除发布到App_Data
文件夹。
如果您使用 Visual Studio 2013 中的 Web 部署进行发布,您可以按如下方式启用此选项:
-
右键单击 web 项目。
点击发布...
点击设置
展开文件发布选项并选中从
App_Data 文件夹
关闭并保存更改。
【讨论】:
出于显而易见的原因,这也适用于 Team Services。以上是关于在 azure 上发布网站时,webjobs 被删除的主要内容,如果未能解决你的问题,请参考以下文章
使用 WebJob 将 Web 应用程序发布到 Azure 时卡住
WinSCP 无法在 Azure 应用服务上作为 WebJob 运行