gpt4 book ai didi

entity-framework - Azure Web 作业运行一次

转载 作者:行者123 更新时间:2023-12-02 03:12:16 24 4
gpt4 key购买 nike

我想在部署时使用运行一次的 Azure Web 作业(从 Github 持续部署)。在我的控制台应用程序中,我只是打印一行并退出。我选择连续的时间表:

namespace MyApp.Deployment
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Performing EF Migrations at " + DateTime.Now.ToLongDateString());
//run EF migrations here.
//Can't run migrations in my web service App_Start because web service connects as a limited SQL user.
Console.WriteLine("Migrations complete");
}
}
}

但是 azure 只是在 1 分钟的间隔后继续运行这个应用程序。有没有办法告诉 azure 不要重启它?

有没有更好的方法在部署后立即运行 PS1 脚本?

最佳答案

我能够通过以下方式完成此任务:

  1. 将控制台应用程序创建为 Web 作业并将其设置为使用手动触发器。在我的例子中,控制台应用程序只是创建一个 DbMigrator,设置连接字符串(来自环境变量),然后调用 Update()。

  2. 使用新的 Web 作业部署您的应用程序。登录 kudu 控制台,确定 your_console_app.exe 的路径。然后创建一个自定义的 kudu deploy.cmd,并确保在 KuduSync 部分之后调用您的网络作业。

  3. 下次部署时,您的控制台应用程序将在构建和部署所有文件后运行,您可以在 Kudu 或 azure 门户中看到输出。

希望这对某人有帮助。

关于entity-framework - Azure Web 作业运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39263287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com