首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >巨菊魅力-如何运行和调试反应魅力

巨菊魅力-如何运行和调试反应魅力
EN

Ask Ubuntu用户
提问于 2016-07-29 12:36:17
回答 2查看 478关注 0票数 1

我正在使用反应性模式在python中开发一个juju魅力。我所有的钩子都是使用“基本”底层提供的装饰器来调用的。在尝试部署魅力时,我遇到了一个错误。为了解决错误,我使用了'juju调试-钩子‘和'juju -r’(dhx调试插件),但我找不到一种方法来运行魅力代码使用python遵循的反应模式.正如我所理解的,(例如,当使用dhx进行调试时),魅力执行会在导致错误的钩子之前返回到状态,然后开发人员登录到远程调试会话中。运行钩子是开发者的责任。通常,这些钩子将位于/hooks目录下,只需执行它们即可运行。这是不可能使用反应模式,因为没有进入点的钩子,但一切只是一系列的反应状态.

如何在调试会话期间运行用python编写的按反应模式编写的juju魅力代码?

EN

回答 2

Ask Ubuntu用户

发布于 2016-12-16 14:25:18

我也有同样的问题,因为在某种程度上,即使当我得到安装钩子失败的错误时,我的set_state('myservice.installed')也会被触发。我没有找到具体的解决方案来运行特定的代码,但是一个很好的解决方法是更改通常会触发代码并重新运行hooks/install的事件。我只在juju debug-hooks,而不是juju dhx上试过,但这做了我的工作。

在我的例子中,我看到我的当前状态被设置为“安装”。通过更改事件以触发代码,我能够重新运行安装钩子。在我的debug-hooks会话中,我可以看到我的钩子哪里失败了。

代码语言:javascript
复制
from charms.reactive import when, set_state
import charms.apt

@when('myservice.installed')
def install():
    charms.apt.queue_install(['some-package'])
    // do some extra stuff
    set_state('myservice.installed')
票数 1
EN

Ask Ubuntu用户

发布于 2017-10-05 13:37:20

如何在调试会话期间运行反应性魅力?

通过在hooks/目录中运行钩子来运行反应性魅力。该钩子将启动反应性框架并启动“级联状态”。

hooks/目录中的钩子文件由layer-basiccharm build创建。如果钩子文件不存在于layer-basic目录中,请确保在layer.yaml文件中包含hooks/

您可以在朱朱博士中找到有关调试反应性魅力的更多信息。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/804465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档