[深度学习]服务器推送信息到手机

效果

原理

微信服务号是可以推送模板类消息到个人账号的,gpu服务器在训练的时候,把重要信息通过post请求发到服务号的服务器,然后以模板消息推送给微信。但只有企业或者个人经营企业才能注册服务号,所以我使用第三方的服务。一个是autoDL的推送,一个是server酱。本来以为不在autoDL机房里的服务器是不能用这个API的,后来发现autoDL文档里说“即使您不租用AutoDL的GPU实例,也欢迎您使用该功能”。只能说这个平台我用的太舒服了,自来水给它打广告好吧。autoDL每天限制50条但没法氪金,server酱不氪金是5条,氪金是1k条。我两边的代码都跑通了,但还是决定只用autoDL。

API使用

网址:https://www.autodl.com/docs/msg/
先注册咯,然后在帮助文档->最佳实践->微信消息,就有教程,先获取token,然后套他的模板,没写过这种请求也可以看看我的代码。
我的思路是把整体代码放一个函数里,然后try它,如果抓到exception就推送到手机。同时如果顺利炼完就推送完成的消息。如果是租用的服务器也可以加个关机指令,有关机指令就必须把log重定向到文件。

我的代码

def main():
    #training ...
    torch.save(MT,'./model_head2.pkl')
    headers = {"Authorization": "把这段换成你的token记得引号要留着"}
    resp = requests.post("https://www.autodl.com/api/v1/wechat/message/send",
                     json={
                         "title": "A100: 炼完辣",
                         "name": "你的模型炼完辣",
                         "content": "快点关机!!"
                     }, headers = headers)

try:
    main()
except Exception as e:
    # print the error message
    print(str(e))
    headers = {"Authorization": "把这段换成你的token记得引号要留着"}
    resp = requests.post("https://www.autodl.com/api/v1/wechat/message/send",
                     json={
                         "title": "A100: 寄啦",
                         "name": "你的模型寄辣",
                         "content": str(e)
                     }, headers = headers)
posted @ 2023-04-15 14:13  溡沭  阅读(172)  评论(0编辑  收藏  举报