PyCLIPS:如何从错误中恢复

时间:2016-06-28 12:05:02

标签: rule-engine clips pyclips

我使用PyCLIPS将CLIPS集成到一个应该充当ECA-Server的程序中(事件条件 - 动作)。 有些传入事件与系统状态一起可能触发或不触发规则,然后在消息总线上发出操作。

系统状态以实例的形式显示,其实例的插槽根据传入的事件进行修改。

该软件旨在成为一种长期服务,但在执行规则期间发生错误时,例如通过错误命名的处理程序:

ERROR: [MSGFUN1] No applicable primary message-handlers found for event-handler.
[PRCCODE4] Execution halted during the actions of defrule event-rule.

剪辑会话对新邮件无响应。使用以下内容不再更新插槽:

clips_instance.Send(event, event_args)

即使clips.DebugConfig.WatchAll()没有调试输出,剪辑也不会发生任何事情。

示例:

>>> import clips
>>> clips.Build("(defclass POINT (is-a USER) (slot x) (slot y))")
>>> clips_instance = clips.BuildInstance("p1","POINT","(x 3) (y 5)")
>>> clips_instance.Send("get-x","")
<Integer 3>
>>> clips_instance.Send("get-z","")
<Symbol 'FALSE'>
>>> clips_instance.Send("get-y","")
<Symbol 'FALSE'>
>>> 

有没有可能避免这种情况或从这种状态中恢复过来?

0 个答案:

没有答案
相关问题