【Azure WebJob】is_in_place 参数在App Service Web Job中的作用?

本文涉及的产品
云原生网关 MSE Higress,422元/月
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本文介绍了Webjob配置文件`settings.job`中`is_in_place`参数的作用。默认值为`false`时,WebJob会先将文件复制到临时文件夹再运行;设为`true`后,WebJob可直接在源文件所在文件夹运行,无需复制。文章通过实验验证了该参数的效果,并对比了不同设置下的运行目录路径,同时提供了官方文档作为参考,帮助用户深入理解此配置的使用场景与意义。

问题描述

如果在Webjob的配置文件(settings.job) 中添加了 is_in_place , 它有什么作用呢?

 

问题解答

根据官方文档解释,is_in_place 默认值为 false,如果设置为 true , 表示允许 WebJob不用首先将其复制到临时文件夹,而可以在源文件所在的原始文件夹中运行。

 

当我们从Azure App Service的Webjob页面上传webjob的源文件后,它在App Service上所保存的路径为:C:\home\site\wwwroot\App_Data\jobs\


基于以上信息,通过修改 settings.job 并添加 is_in_place参数来验证WebJob的结果:

1) 通过kudu站点,直接添加 settings.job 文件,内容如下:

{
"is_in_place": true
}

2)  进入Process Explorer页面,点击w3wp.exe (scm) 进程,查看MyConsoleApp1 的 properties 按钮,点击Handles Tab页,就可以查看到dll的加载路径!

 

效果图对比

1) is_in_place 参数值默认为false的情况下,webjob的源文件在 C:\home\site\wwwroot\App_Data\jobs\continuous\myconsoleapp\publish\MyConsoleApp1.dll, 而运行目录为:D:\DWASFiles\Sites\#1xxxxxxx

 

 

2) is_in_place 修改为true后,webjob的源文件在 C:\home\site\wwwroot\App_Data\jobs\continuous\myconsoleapp\publish\MyConsoleApp1.dll, 而运行目录为也是 C:\home\site\wwwroot\App_Data\jobs\continuous\myconsoleapp\publish\MyConsoleApp1.dll

 

参考资料

WebJobs 支持设置的参数:https://docs.azure.cn/zh-cn/app-service/webjobs-dotnet-deploy-vs#settingsjob-reference

 



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
27天前
|
前端开发 测试技术 API
一文掌握软件分支管理
本文详细介绍了软件分支管理的实践经验,结合具体项目案例,从版本号、分支命名、标签管理到合并策略等方面展开。通过清晰的规则和流程图示,帮助团队避免版本混乱,提升研发效率。强调主干与开发分支的核心作用,同时提醒合理控制分支数量,确保协作顺畅。适用于不同类型的项目,助力团队建立适合自身的版本管理体系。
352 69
一文掌握软件分支管理
|
27天前
|
Linux Shell 网络安全
【Azure App Service】使用 tcpping 来获取App Service的网络状态并把结果保存到文本文件中
本文针对云服务使用中网络状态抖动的问题,以Azure App Service为例,介绍如何利用其自带的`tcpping`工具检测网络连通性。通过在Windows或Linux版App Service中执行`tcpping`命令,将结果输出至文本文件,分析timeout行数以判断网络抖动的时间点。文章还提供了具体操作步骤、效果图及参考资料,帮助用户高效排查网络问题。
112 47
|
27天前
|
存储 Ubuntu Docker
Ubuntu 安装 docker
本文介绍了在 Ubuntu 系统上安装 Docker 的详细步骤,包括卸载旧版本、设置 Docker 官方存储库、安装 Docker 包以及配置镜像源加速。首先通过移除旧版组件如 `docker.io` 和 `docker-compose` 等进行清理,然后添加官方 GPG 密钥并配置 APT 源,接着安装最新 Docker 组件。此外,还提供了阿里云和 1Panel 的镜像源配置方法以提升下载速度,并通过运行 `hello-world` 镜像测试安装是否成功。
491 3
Ubuntu 安装 docker
|
存储 运维 开发工具
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文探讨了日志管理中的常见反模式及其潜在问题,强调科学的日志管理策略对系统可观测性的重要性。文中分析了6种反模式:copy truncate轮转导致的日志丢失或重复、NAS/OSS存储引发的采集不一致、多进程写入造成的日志混乱、创建文件空洞释放空间的风险、频繁覆盖写带来的数据完整性问题,以及使用vim编辑日志文件导致的重复采集。针对这些问题,文章提供了最佳实践建议,如使用create模式轮转日志、本地磁盘存储、单线程追加写入等方法,以降低日志采集风险,提升系统可靠性。最后总结指出,遵循这些实践可显著提高故障排查效率和系统性能。
209 20
|
26天前
|
IDE Java 数据挖掘
Java 基础类从入门到精通实操指南
这份指南专注于**Java 17+**的新特性和基础类库的现代化用法,涵盖开发环境配置、数据类型增强(如文本块)、字符串与集合处理进阶、异常改进(如密封类)、IO操作及实战案例。通过具体代码示例,如CSV数据分析工具,帮助开发者掌握高效编程技巧。同时提供性能优化建议和常用第三方库推荐,适合从入门到精通的Java学习者。资源链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
108 35
|
1月前
|
存储 数据可视化 数据安全/隐私保护
【赵渝强老师】Docker的图形化管理工具
本文介绍了三种主流的Docker图形化管理工具:Docker UI、Portainer和Shipyard。Docker UI(现名UI for Docker)适合初学者,支持容器管理并可显示容器关系图;Portainer轻量级且功能全面,支持单机与集群管理;Shipyard专注于多主机集群管理,提供镜像、容器及节点管理功能,并包含engine和rethinkdb两个核心组件。文中还通过图文结合的方式展示了各工具的安装与使用方法。
【赵渝强老师】Docker的图形化管理工具
|
28天前
|
弹性计算 运维 监控
资源利用率提升50%:Serverless 驱动国诚投顾打造智能投顾新范式
通过与阿里云深度合作,国诚投顾完成了从传统 ECS 架构向云原生 Serverless 架构的全面转型。新的技术架构不仅解决了原有系统在稳定性、弹性、运维效率等方面的痛点,还在成本控制、API 治理、可观测性、DevOps 自动化等方面实现了全方位升级。
249 20