使用微服务实现多设备自动调度
创始人
2024-04-03 03:35:58
0

在实现app自动化过程中,有时候我们需要将多个手机中的任务,按照某种规则进行调度,这时仅仅使用移动端的脚本就无法完成了,需要配合使用微服务来完成。下面就举个例子来实际说明如何使用。

需求

假设我们有100台手机做任务,具体有如下需求:

  1. 按顺序来启动每台手机任务,移动端脚本名为:test。
  2. 两次启动之间需要加一个随机的间隔时间。
  3. 将自定义的参数传给每个启动的手机任务,自定义参数 「参数名:url,类型:string」。

分析需求

上面的需求其实非常简单,就是要求按一定规则顺序执行所有手机中的默认任务。

  1. 以上需求本质上是做100台手机的调度功能,仅依靠前端的js脚本是无法实现的,所以必须使用微服务。
  2. 由于需要输入参数url,所以我们可以使用「业务处理」服务来实现,添加一个url参数。
  3. 两手机任务启动间隔时间也可以做成参数,让用户自己选择间隔的范围。所以可以添加为minInterval和maxInterval两个参数分别表示最小和最大间隔时间(毫秒)。

综上分析,微服务具有三个参数:url,minInterval、maxInterval。

实现

根据上述分析,我们可以先建立「业务处理」服务,然后再编写对应的「微服务脚本」来实现具体调度功能。

  1. 新建业务处理服务。在冰狐智能辅助网页端选择【微服务】/【业务处理】,点击右上角的"+服务"按钮,新建一个名为demo的业务处理服务。
  2. 添加参数。点击"参数"按钮,添加三个参数,分别为:【名称:url,id:url,类型:字符串】;【名称:最小间隔,id:minInterval,类型:整型】;【名称:最大间隔,id:maxInterval,类型:整型】。
  3. 新建微服务脚本。在冰狐智能辅助网页端选择【微服务】/【微服务脚本】,点击右上角的"+脚本"按钮,新建一个名为demo的脚本。
  4. 关联脚本和业务处理服务。在冰狐智能辅助网页端选择【微服务】/【业务处理】,点击"编辑"按钮,选择刚创建的"demo"为脚本。
  5. 实现微服务脚本。脚本的核心功能为:接收参数,根据参数和调度要求来启动每个手机任务。
    // url、minInterval,maxInterval为业务处理服务透传过来的参数
    function main(url, minInterval, maxInterval) {var devices = deviceList();for (var device of devices) {// 仅调度在线手机if (device.onlineState == 1) {// 在手机上执行移动端名为"test"的脚本,这里的url参数会直接透传给移动端脚本的main函数参数。scriptExe('test', device.uuid, [url], true);// 在minInterval和maxInterval之间随机延时一段时间sleep(Math.random() * (maxInterval - minInterval) + minInterval);}}
    }                        
  6. 执行服务。在冰狐智能辅助网页端【微服务】/【业务处理】,选择刚创建的"demo"服务,然后点击"执行"按钮,填充相关参数,点击"执行"即可执行代码。
  7. 如果您还没有手机端脚本(移动端脚本),可以参考下面的代码:
    // url参数的值,是上面的微服务脚本通过调用scriptExe函数透传过来的。
    function main(url) {console.log('url:' + url);
    }          

总结

本文通过一个例子详细介绍了如何使用微服务实现多设备自动调度,各位同学可以根据自己的实际需求修改具体调度策略。

 

 

 

 

 

 

 

 

 

相关内容

热门资讯

贵州百灵纾困纠纷背后:新希望与... 近日,苗药龙头贵州百灵(002424)与华创证券之间的纾困纠纷一直是市场关注的重点,自2025年8月...
*ST南置(002305)披露... 截至2025年12月29日收盘,*ST南置(002305)报收于2.23元,较前一交易日上涨0.9%...
原创 普... 俄罗斯总统弗拉基米尔·普京签署法律,禁止在俄罗斯境内执行外国刑事法院和国际法院的裁决 相关文件已在俄...
盒马购得面包发馊变臭!商家“仅... 面包发馊发臭 近日,市民刘女士向“新民帮侬忙”反映,从盒马鲜生购入的日式面包,竟然发馊发臭!然而事发...
当年龄不再是“免罚金牌”,彰显... 文/九派新闻特约评论员 舒圣祥 明年1月1日起,新修订的《治安管理处罚法》即将正式施行。新法专门新增...
2026年1月1日起施行!“被... 2025年新修订的治安管理处罚法将于2026年1月1日起施行,针对新修订的内容中与市民生活息息相关的...
“车企起诉电池企业第一案”:2... 编者按: 极氪起诉欣旺达这场官司,无论最终迎来怎样的判决,都注定会为整个行业留下一笔深刻的警示财富。...
逃缴1.09亿美元关税!深圳货... 可以说2025是税务大年,卖家不仅要扛住国内申报的节奏,还得适应一件更现实的事:跨境这门生意,账目和...
青岛榜样|奋战公益诉讼一线,诠... “说是检察官,其实我们更像户外工作者,经常跋山涉水、穿梭于田野乡间,哪里有公益受损和群众需求,哪里就...
双星新材(002585)披露市... 截至2025年12月29日收盘,双星新材(002585)报收于6.82元,较前一交易日上涨1.04%...