简介
hubot-taskmaster 是一个使用 Node.js 平台上的机器人工具 Hubot 开发的一个 npm 包,它为 Hubot 提供了一系列的任务管理功能。通过 hubot-taskmaster 可以以程序化的方式运行任务,还可以设置时间计划,通过 Slack、HipChat、Campfire 等软件通知你。
安装
要安装 hubot-taskmaster 你需要先安装 Hubot,如果你还没有安装,可以使用下面的命令进行安装:
npm install -g hubot coffee-script yo generator-hubot
安装完成 Hubot 后,你可以在终端中进入你的 Hubot 机器人目录,然后运行下面的命令安装 hubot-taskmaster 。
npm install hubot-taskmaster --save
配置
创建一个新的文件夹用于存储你的机器人,然后运行 yo hubot
命令,系统将会为你自动生成一个机器人基础代码。
在你的新机器人文件夹中,找到 external-scripts.json
文件,向其中添加 "hubot-taskmaster"
即可。
["hubot-taskmaster"]
使用
hubot-taskmaster 利用的是 Redis 存储引擎,因此你需要先进行配置。
打开你的机器人设置文件,一般是 ./scripts/{your-script-file-name}.coffee
,并添加下面的配置内容:
-- -------------------- ---- ------- - -- ----- -- ----- - ------- ------- - -- ----- ----------- - ----- ---------------------- -- ----------- ----- ---------------------- -- ---- -------- - -- - ------------ ------- - ---------------------------------- ------------ ---------
现在我们就可以在机器人中使用 hubot-taskmaster 了。
新建任务
-- -------------------- ---- ------- - ----- ------ --------- -------- ----- ---------- --------- -- - - - - --- ------- -- - - ----- ----------- -------- --- --------------- --------- -- - - - - --- ------- - ------------- ---- - -- - -- --------------- ----------- - -
在上面的代码中,我们定义了两个不同的任务。第一个任务是一个简单的 Node.js 程序,将会每个月 1 号的 0 点 0 分 0 秒执行一次。第二个任务是一个 shell 脚本,将会在每周的周一 0 点 0 分 0 秒执行一次,并且在执行最长时间超过 5 分钟时会将通知发送至 Slack 频道“#dev-sync”。
开始任务
在机器人中启用新任务,只需要使用下面的代码:
taskAPI.start("Crawl website") taskAPI.start("sync-git")
停止任务
我们同样可以停止已经启动的任务,方法即为使用任务名称:
taskAPI.stop("Crawl website") taskAPI.stop("sync-git")
获取任务信息
有时候我们需要获取任务的详细信息:
# get job detail by name taskAPI.detail("Crawl website").then (detail) -> console.log "#{detail.name} detail: " console.log detail
示例代码
下面是一个完整的示例代码:
-- -------------------- ---- ------- - ----------- - - ------- ------- ---------- - ------- ------------------ -------------- - ------- -- - ---- ----- - - ----- -------- -------- ------- --------- -- - - - - -- - - ----- --- ----------- - -------- -------- -------- - -------- -------- - ------ ----------- -------------- ---- ----------- - -------- ------- - ----------------- ------------ --------- - -------- ------------- ----- -------- ----- -- ------------------- ------ -- -------- ------ --- -------------- ---- ------ --------------------- - ---- ------------- ------ ---- -------- ----- -- --------- - ------------ ----------------------------- -- -------- ------ ---- ------------ ------------- - ---- ------------- ----- ---- -------- ----- -- --------- - ------------ ---------------------------- -- -------- ----- ---- ------------ ------------- - ---- ------------- ----- ------ -------- ----- -- --------- - ------------ ------------------------------ -------- -- -------- ------- --- ---- --------------- -------------------------- ----- ----
希望这篇教程可以帮助你学习和使用 hubot-taskmaster。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005600c81e8991b448dddce