gpt4 book ai didi

Azure webjobs 部署和工作目录

转载 作者:行者123 更新时间:2023-12-05 03:07:09 26 4
gpt4 key购买 nike

我对将 webjob 部署到 azure 感到困惑。

我使用的是 .net core,因此我在 deploy.cmd 文件中手动发布我的 webjobs,例如如下所示:

调用:ExecuteCmd dotnet发布“%DEPLOYMENT_SOURCE%\My.WebJobs\Mt.WebJobs.csproj”--输出“%DEPLOYMENT_TEMP%\App_Data\Jobs\Continuous\MyWebJobs”--配置发布

然后将 webjob 部署到 deployment_temp 文件夹。之后,KuduSync 启动并同步到 DEPLOYMENT_TARGET,即 d:\home\site\wwwroot 我可以看到那里有一个 App_Data\Jobs\Continously\MyWebJobs 文件夹,并且我的所有文件都已正确部署并同步到该文件夹​​。

但是,当我运行 webjob 时,它报告它正在从完全不同的位置运行(D:\local\Temp\jobs\continuous\MyCustomerIO\bp003r3f.h2g)。当我查看该文件夹时,我看到了大部分已部署的 webjob 文件,但此处缺少 App_Data... 中的一些 JSON 配置文件。

那么 - 为什么我的网络作业从这里运行?为什么我部署的一些文件丢失了?

最佳答案

why is my webjob running from here?

WebJob 被复制到 %TEMP%\jobs\{job type}\{job name}\{random name} 下的临时目录,并将从那里运行。此选项防止原始 WebJob 二进制文件被锁定,这可能会导致重新部署 WebJob 时出现问题。

WebJob 直接从 WebJob 二进制文件目录运行。我们称此选项为就地选项。此选项可能存在锁定问题,并且仅应在不存在锁定文件风险的情况下使用。

默认情况下使用第一个选项 (in place = false)。您可以在 settings.job 中显式配置此设置。例如

{ "is_in_place": true/false }

And why are some of my deployed files missing?

我也测试并重现了这种情况。但我没有找到解决这个问题的方法。我建议您可以使用 Environment.GetEnvironmentVariable("WEBJOBS_ROOT_PATH"); 来获取根路径 webjob的直接性。

WEBJOBS_ROOT_PATH 是 webjob 文件的位置,可以指定绝对路径,否则该值将与默认根路径合并:

D:/home/site/wwwroot/+ WEBJOBS_ROOT_PATH(relative) 获取 webjob_name、webjob_run_id 等。

有关更多详细信息,您可以阅读此 article .

关于Azure webjobs 部署和工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48285605/

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