首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >其他独立处理程序在特定时间内通知控制器操作方法

其他独立处理程序在特定时间内通知控制器操作方法
EN

Stack Overflow用户
提问于 2018-12-18 12:03:56
回答 1查看 35关注 0票数 0

我遇到了一种情况,我需要等待设备的响应(使用mqtt代理,这在当前的问题上下文中并不重要)。

每当我得到一个特定端点上的API调用

  • 我需要等待(视需要而定)从另一个处理程序(mqtt处理程序=> https://github.com/gausby/tortoise)上的设备响应(2-5秒)。
  • 这个处理程序需要以某种方式通知我,我得到了这个msg (如果处理程序那个时候收到了msg),用于特定的设备id。
  • 如果设备匹配并通知控制器操作方法,我们将返回成功响应,否则将发送失败响应。
  • 在等待时间之前或之后收到的任何消息都不重要(只需将其视为未订阅)。

我不太清楚实现上述要求的最佳方式是什么。欢迎任何帮助,谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-12-18 13:04:11

spawn()是第一个处理程序的进程。在第一个处理程序中,spawn()第二个处理程序的另一个进程将self()作为参数之一传递。然后输入receive子句,在after clause中指定时间为2-5秒的超时。让第二个处理程序send()向第一个处理程序发送一条消息,其中包含第二个处理程序获取的数据。

如果第一个处理程序中的receive超时,那么在after子句中做您想做的任何事情,如果receive在超时之前读取一条消息,那么对数据做您需要做的任何事情。

然后,如果让运行第一个处理程序的进程死掉,那么您就不必担心邮箱中的垃圾消息了。

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

https://stackoverflow.com/questions/53832606

复制
相关文章

相似问题

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