如何改变@ Core.periodic(30)的数量

时间:2017-10-01 10:27:26

标签: volttron

我创建了一个新的代理,我将通过Core.periodic(30)每30秒调用一次。

我写的是@ Core.periodic(self.heart_beat),但这不能操作。 (heart_beat是配置文件的变量。)

我不知道如何解决它。

enter image description here

1 个答案:

答案 0 :(得分:1)

@ Core.periodic是一个装饰者(你可以在行的开头用@表示)。它应该像这样使用:

@Core.periodic(30)
def heart_beat(self):
    #Do heartbeat stuff here

如果你需要做一些动态的事情,你可以在运行时使用self.core.periodic来连接回调。这允许您动态更改设置,并在需要时稍后停止周期性功能。

self.heart_beat_greenlet = self.core.periodic(30, self.heart_beat)

稍后您可以调用self.heart_beat_greenlet.kill()来停止周期性功能。