首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用QQ监控PBS任务

环境准备

1.安装酷Q和HTTP API插件

酷Q:https://cqp.cc/

CoolQ HTTP API 插件:https://github.com/richardchien/coolq-http-api

将HTTP API插件放置于app文件夹中,启动并登陆酷Q,在菜单中启用插件。

HTTP API插件的默认地址为http://localhost:5700/

2.安装包

安装后在Python中使用:

fromcqhttpimportCQHttpbot=CQHttp(api_root='http://219.228.63.56:5700/')bot.send_group_msg(group_id=599070209,message='hello world')

第二行定义了一个机器人,第三行让这个机器人发一条hello world的消息。

开始编写程序

1.获取任务状态

这里为获取任务状态的命令,如,为关键词,如。如此即可返回含有关键词的任务状态。

2.发送消息

调用定义好的CQHttp类发送消息,顺便带上当前时间。

3.循环发送

设置每300秒发送一次:

这里设置为300.

运行

完整的程序如下:

importos

importsubprocessassp

fromcqhttpimportCQHttp

importtime

fromthreadingimportTimer

classCQJobMonitor():

def__init__(self,command="qstat",cqroot='http://219.228.63.56:5700/',group_id=312676525,keywords=['jzzeng'],timeinterval=300):

self.tip="JobMonitor"print(self.tip)

self.command=command

self.group_id=group_id

self.keywords=keywords

self.bot=CQHttp(api_root=cqroot)

self.timeinterval=timeinterval

defjobstate(self): states=sp.check_output(self.command.split()).decode('utf-8').split("\n") states=[''.join(line.split())forlineinstatesifany([keywordinlineforkeywordinself.keywords])]

returnstates

defsendstate(self): localtime=time.asctime(time.localtime(time.time())) message=localtime+"\n"+self.tip+"\n"message+="\n".join(self.jobstate())

self.bot.send_group_msg(group_id=self.group_id,message=message)

defloopmonitor(self):

whilenotos.path.exists("pause"): timer=Timer(self.timeinterval,self.sendstate) timer.start() timer.join()

print("Exit per signal.")

代码已上传至pypi,可用安装。

编写:

fromCQJobMonitorimportCQJobMonitorCQJobMonitor(command="qstat",cqroot='http://219.228.63.56:5700/',group_id=312676525,keywords=['jzzeng'],timeinterval=300).loopmonitor()

并在后台运行:

nohup python monitor.py>/dev/null&

即可定时发送任务情况。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180807G1YDUP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券