1. 需求
炼丹的时候随便一个模型训练消耗时间短则数小时,长则数天,而我们又不可能盯着这个程序等着它跑完,所以想要模型训练完成后主动向我的手机发送一条消息提醒。
2. 实现
ntfy 是一款基于 HTTP 的”推送-订阅”服务。
使用非常简单:下载 APP,自定义话题,在代码中添加两三行推送代码。
无需注册、无需自己搭建服务器以进行消息的转发。
2.1 下载 APP
iOS 或 iPad OS:在 APP Store 中搜索「ntfy」,下载安装即可。
安卓 或 Android:在 Google Play 中搜索「ntfy」,下载安装即可。
如果无法访问 Google Play,也可使用该网盘中的 apk 文件安装。
网盘链接:https://pan.baidu.com/s/1ThxO3ok6i9I0h_K_er9Igg?pwd=9527
提取码:9527
2.2 自定义话题(Topic)
打开 APP,点击右上角加号,自定义一个话题。
话题用字母、数字或下划线组合,尽量设复杂一点,不那么容易和别人撞。如: haha20221122
然后点击 Subscribe。
2.3 测试
新建一个 python 文件,内容如下:
import requests
requests.post("https://ntfy.sh/<你的 topic>",
data="Test from python code".encode(encoding='utf-8'))
如果没有 requests
包,需要先安装该包。
然后执行该 python 文件,手机端会收到一个消息。
2.4 使用
在模型的主调用程序中添加上述代码,位置是模型训练结束后。
3. 进阶
ntfy 不仅支持 python,在命令行、Go、PHP等编程环境或语言中也可以使用。
可以参考官方文档:https://docs.ntfy.sh
ntfy 的消息是分成五个等级的,默认是等级 3,在安卓手机上可能就不会弹窗提醒。
如果想要弹窗提醒,需要在通知里,修改通知类型,给对应等级的消息赋予「悬浮通知权限」