在机器人报错时,如何通过代码实现自动重启

Author: 不要香菜, Created: 2018-03-12 19:23:01, Updated:

请教各位大神 在机器人报错时,如何通过代码实现自动重启? 或者通过发送微信信息来提示报错,手动重启也可以。 谢谢! img


More

小小梦 - 1、 用异常处理。throw "error" ,在异常捕获的时候 ,Log("XXX", "@") 推送下 消息 - 2、 用BotVS 扩展 API ,检测机器人状态 发现停止 重启 不过 不建议这样做,因为 上图您的 TypeError 这类错误 必须要处理的,这类错误是 策略 程序设计问题。

小小梦 哦 如果 不用扩展 API 控制 ,那么 使用 JS 的 异常机制 就是 try{...} catch(e){...} 这样 ,发现错误 处理下。不过 不建议这样处理。 建议 对交易所 API 返回数据 进行容错处理。因为这个 null 错误 是可预见的。 简单的比如 : ``` var ticker = exchange.GetTicker() // 如果 各种原因出现异常 导致 GetTicker 返回 null 。 if(ticker == null) { // retry } ```

不要香菜 这个属性是交易所api返回的,不是我自己定义的,但是交易所每隔一段时间出现数据异常,导致这个属性读不出来,然后机器人就自动停止了。梦神,我看了下扩展api,只有Python版的,JS可不可以实现机器人状态异常自动重启啊,或者throw error这个代码怎么使用啊,不知道加在哪里……

小小梦 这个错误 您检查下 currentQty 这个 属性 应该是 某个 变量 是未定义 类型,然后访问了 这个变量的 currentQty, 重点检查 .currentQty 这个代码,看 . 前面的变量是不是可能是 未定义的。

不要香菜 我也不知道是不是设计问题,BitMEX跑着跑着 隔一段时间(大约4小时左右)就会抛出错误,必须要手动重启。