客户端/服务器实现
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
<ph type="x-smartling-placeholder">
</ph>
报告问题open_in_new
查看来源open_in_new
敬上
每晚
·
7.3。
·
7.2 条
·
7.1
·
7.0。
·
6.5
Bazel 系统实现为长期有效的服务器进程。这样,
执行许多在面向批处理的实现中无法实现的优化,
例如缓存 BUILD 文件、依赖关系图以及其他元数据
打造新时代。这提高了增量构建的速度,并允许
build
和 query
等用于共享相同缓存的
因此查询速度很快每个服务器最多只能处理一个
每次调用一次如果继续存在,则后续调用将阻塞或
快速失败(请参阅 --block_for_lock
)。
当您运行 bazel
时,您就是在运行客户端。客户端找到服务器
根据输出基准,默认为
取决于基本工作区目录的路径以及您的 userid,因此如果
在多个工作区中构建项目时,会有多个输出库
运行多个 Bazel 服务器进程同一工作站上的多个用户可以
在同一个工作区中同时构建,因为它们的输出基准不同
(不同的用户 ID)。
如果客户端找不到正在运行的服务器实例,则会启动一个新的服务器实例。它
方法是检查输出库是否已经存在,这意味着 blaze
归档文件已解压否则,如果输出基准不存在,
客户端会解压缩归档文件,并将 mtime
设置为 9 年
。安装后,客户端将确认mtime
解压缩后的文件与下载日期相差无几,以确保安装不会被篡改
发生了什么情况。
服务器进程将在一段时间(默认为 3 小时,
可使用启动选项 --max_idle_secs
进行修改)。对于
这部分是用户看不到正在运行服务器这一事实,
有时候,牢记这一点会很有帮助例如,如果您在运行脚本
在不同目录中执行大量自动构建的应用,请务必
确保不会积累大量空闲服务器;为此,您可以
在使用完这些文件后明确关闭它们,或者指定
短超时时间。
Bazel 服务器进程的名称显示在 ps x
或 ps -e f
的输出中
为 bazel(dirname)
,其中 dirname 是
包含工作区目录根目录的目录。例如:
ps -e f
16143 ? Sl 3:00 bazel(src-johndoe2) -server -Djava.library.path=...
这样更便于找出哪个服务器进程属于指定的
工作区。(请注意,如果使用 ps
的其他选项,Bazel 服务器
进程可以仅命名为 java
)。您可以使用
关停命令。
运行 bazel
时,客户端首先检查服务器是否合适
version;如果不是,系统会停止该服务器,并启动一个新的服务器。这样可以确保
使用长时间运行的服务器进程不会干扰
版本控制
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-23。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-08-23\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-08-23。"],[],[]]