--- title: 计算任务完成后发送微信通知 tags: [] id: '1508' categories: - - 超算基础 date: 2022-01-25 14:45:19 --- ## 第一步 申请Server酱账号,并配置企业微信通道 * [消息通道设置](https://sct.ftqq.com/forward),[企业微信登录](https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome) * 创建应用 [![](https://img-cdn.limour.top/blog_wp/2022/01/image-26.png)](https://img-cdn.limour.top/blog_wp/2022/01/image-26.png) [![](https://img-cdn.limour.top/blog_wp/2022/01/image-27.png)](https://img-cdn.limour.top/blog_wp/2022/01/image-27.png) UID前不用加@ ## 第二步 自行搭建Wecomchan酱 项目地址:https://github.com/easychen/wecomchan * 安装依赖:pip3 install requests -i https://pypi.tuna.tsinghua.edu.cn/simple * 编写如下.py文件,并 chmod +x ```python #!/usr/bin/python3 import json,requests,base64 from sys import argv as sys_argv def getsend(wecom_cid, wecom_aid, wecom_secret): get_token_url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={wecom_cid}&corpsecret={wecom_secret}" response = requests.get(get_token_url).content access_token = json.loads(response).get('access_token') if access_token and len(access_token) > 0: send_msg_url = f'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}' def send(text, wecom_touid='@all'): data = { "touser":wecom_touid, "agentid":wecom_aid, "msgtype":"text", "text":{ "content":text }, "duplicate_check_interval":600 } response = requests.post(send_msg_url,data=json.dumps(data)).content return response else: def send(text, wecom_touid='@all'): print('get_token Failed') return send ### 以下请按实际情况自行配置,以上勿动 ### ''' WECOM_CID企业微信公司ID WECOM_AID企业微信应用ID WECOM_SECRET企业微信应用Secret wecom_touid消息发送对象的UID ''' info = getsend( # 与Server酱中的参数一致 wecom_cid = '***', wecom_aid = '100000*', wecom_secret = '***' ) wecom_touid = 'limour' ### 以上请按实际情况自行配置,以下勿动 ### if __name__ == '__main__': if len(sys_argv) == 2: env_arg = sys_argv[1] else: env_arg = '参数传递错误!' info( text = env_arg, wecom_touid = wecom_touid ) ``` ## 第三步 shell调用 ```shell python3 ./wecomchan.py 'task successfully completed' ``` ## 第四步 R调用 ```r system(paste("python3 /home/jovyan/gene/zl_liu/wecomchan.py", "'task successfully completed'"), intern = T) ``` ## 第五步 python调用 ```python from os import system system(f"python3 /home/jovyan/gene/zl_liu/wecomchan.py 'task successfully completed'") ```