在实现app自动化过程中,有时候我们需要将多个手机中的任务,按照某种规则进行调度,这时仅仅使用移动端的脚本就无法完成了,需要配合使用微服务来完成。下面就举个例子来实际说明如何使用。
假设我们有100台手机做任务,具体有如下需求:
上面的需求其实非常简单,就是要求按一定规则顺序执行所有手机中的默认任务。
综上分析,微服务具有三个参数:url,minInterval、maxInterval。
根据上述分析,我们可以先建立「业务处理」服务,然后再编写对应的「微服务脚本」来实现具体调度功能。




// 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);}}
} 
// url参数的值,是上面的微服务脚本通过调用scriptExe函数透传过来的。
function main(url) {console.log('url:' + url);
} 本文通过一个例子详细介绍了如何使用微服务实现多设备自动调度,各位同学可以根据自己的实际需求修改具体调度策略。