Greengrass V2:组件依赖关系 - 软 vs 硬

0

【以下的问题经过翻译处理】 目前正在运行 Greengrass v2 nucleus 2.8.1

在以下设置中,我注意到使用以下依赖链,组件 3 在安装组件 1 和组件 2 之后运行,但组件 1 仍处于启动状态。 C3 需要完全启动 C1 中的服务才能启动自身,这又会导致组件 3 进入故障状态。我应该让 C3 很难依赖 C1 吗?建立依赖链的正确方法是什么?

[组件 1] --硬依赖--> [组件 2] --软依赖--> [组件 3]

不完整的 yaml:

---
# Component 3
componentType: "GENERIC"
dependencies:
- "component2:SOFT"
lifecycle:
  Run:
    Script: "service.exe"
---
# Component 2
componentType: "GENERIC"
dependencies:
- "component1:HARD"
lifecycle:
  Startup:
    Script: "something.exe"
---
# Component 1
componentType: "GENERIC"
lifecycle:
  Install:
    Script: "install.exe"
  Startup:
    Script: "something-that-takes-long-to-start.exe"

profile picture
专家
已提问 5 个月前20 查看次数
1 回答
0

【以下的回答经过翻译处理】 软依赖组件将在其依赖的组件之前下载。如果软依赖组件崩溃,则其依赖项将继续运行。 另一方面,强依赖组件将在其依赖的组件允许启动之前下载、安装和运行。如果一个强依赖组件崩溃, 则其依赖关系将被关闭,并在其强依赖组件重新启动后重新启动。希望这能澄清问题。谢谢。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则