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
EXPERTE
gefragt vor 6 Monaten32 Aufrufe
1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen