关于EdgeX中的Scheduler

ProgrammerHe2021 2021-09-15 21:31:53

概述

EdgeX中的Scheduler是调度微服务提供一个内部EdgeX时钟,可以定期启动任何EdgeX的服务。通过配置Interval(间隔)和Inverval action(间隔的行为),使用REST调用EdgeX服务的API来触发操作。例如说可以定期清理core data中设备的旧事件。

| ISO 8601

ISO 8601是一项国际标准,涵盖日期和时间相关数据的全球交换和通信(信息交换)。时间以YYYYMMDD'T'HHmmss格式表示,例如表示2021年9月13日的凌晨,就是20210913T000000。

 

 

通过EdgeX UI新建Interval 和Interval Action

1. 登录localhost:4000进入ui界面,在侧边栏选择Scheduler并填入Interval选项。这里要填Inverval的名称(是要唯一的),Start和End代表的就是开始时间和结束时间。Interval就是间隔时间,这里填的5M意思就是时间间隔为5分钟。RunOnce只运行一次选false(如果不只执行一次的话)

 2. 然后填IntervalAction,选好IntervalName就是代表你选择每隔5分钟只要要干什么。下面Address可以选择REST,MQTT ,EMAIL;REST也有一些模板,可以只清除指定设备的旧事件。需要填好执行的方法、端口和地址。

3.选好之后可以看到新增的Interval和Interval Action了。

 

通过REST的方式新建 Interval 和 Interval Action

Scheduler详细API可以看这里:

https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/support-scheduler/2.0.0#/

1. 通过postman使用POST方法向http://<your ip>:59861/api/v2/interval发送请求。当然这里的字段requestId和id需要填uuid。uuid可以在在线网站生成。

2. 添加Interval Action

 

3. 验证。我们通过查询Random-Integer-Device设备之前事件的总次数,是368次,之后再查询变成了0,是因为自动事件清除了

root@u20:~# curl --location --request GET 'http://127.0.0.1:59880/api/v2/event/count/device/name/Random-Integer-Device'
{"apiVersion":"v2","statusCode":200,"Count":368}
root@u20:~# curl --location --request GET 'http://127.0.0.1:59880/api/v2/event/count/device/name/Random-Integer-Device'
{"apiVersion":"v2","statusCode":200,"Count":0}

 

写在最后

附上思维导图,同时可以关注一波公众号 ProgrammerHe

...全文
1371 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProgrammerHe2021 2021-09-16
  • 打赏
  • 举报
回复

如果想提意见或指正文章错误欢迎留言,谢谢谢谢

23,635

社区成员

发帖
与我相关
我的任务
社区描述
EdgeX Foundry 是一个由Linux基金会主持,供应商中立的边缘计算开源项目,旨在为物联网边缘计算提供开放、可扩展的平台。
人工智能edge边缘计算 企业社区 上海·浦东新区
社区管理员
  • EdgeX中文社区
  • 亿琪软件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
EdgeX Foundry 微信官方公众号 (EdgeXFoundryCN) 【优质内容,全站网罗】 持续聚集沉淀来自社区的 EdgeX Foundry 专业内容和资源,点击首页右侧“关注社区”,参与到社区里来吧! 【进阶学习,技术交流】 欢迎在社区的“问答”频道发帖提问,优质回答者将有机会登上社区光荣榜,获得 CSDN 积分,EdgeX 社区头衔等奖励! 【投稿贡献,成为大牛】 我们诚挚邀请你成为社区贡献者,发布优质的自产内容或翻译内容,优质投稿者将有机会登上社区光荣榜,获得 CSDN 积分,EdgeX 社区头衔等奖励!

试试用AI创作助手写篇文章吧