Stata的传送门——statapush

2017-07-10 高金凤 爬虫俱乐部 爬虫俱乐部

暑假已悄然来临,我们的爬虫小将仍然坚守岗位,丝毫没有削减学习stata的激情与热血呐!今天又要为大家奉上小小一技啦!

大 家都知道stata是实证数据处理的利器,但是,有时候,我们会碰到stata程序运行时间很长的情况,并且很多时候放到服务器上运行,很难知道什么时候 结束?如果结束之后,立马有个手机提醒,该多好。只有我们想不到,就没有stata做不到的。早在Stata12中就有命令statapush就可以为我们发送运行结束的通知,下面具体介绍一下statapush的使用方法。

一、statapush的介绍

首先help一下命令statapush

命令statapush的 Title中介绍到该命令是用来发送通知的,语法Syntax中介绍到3个必选项token()、userid()、message()和2个非必选项 attachment()、provider()。其中,选项token()中要填写手机推送服务器相关应用的API代码、userid()中要填写手机 推送服务器的用户代码 (这两个选项中所填内容在下面的介绍中会逐一展示),message()中填写你想要看到的提醒内容;选项 attachment()只限应用于推送软件pushpullet,表示可以附加一个文件。Statapush命令默认使用推送软件pushover,如果要用Pushbullet和IFTTT代替Pushover,只需要在statapush所在命令行加上选项provider(pushbullet)或provider(ifttt)。另外,using filename是指statapush命令可以直接调用stata的do文件,如果do文件有错误,会返回相应的错误提示,否则返回选项message()中的提示内容。

同样,可以在help文件看到如下内容:

Description部分指出,statapush需 要开源文件传输工具CURL,默认安装在使用Mac OS和Unix的计算机上,但是windows系统的电脑需要手动安装。小编使用的是windows系统,所以需要手动安装curl,首先点击上图所示蓝 色标注的“manual installation”进入如下所示界面。

点击红色框所示部分下载至电脑硬盘,并将文件curl.exe(应用程序)放至路径C:\Windows\System32下。为保证staatpush相关命令行的正确执行,我们对curl是否正确安装做一下测试:点击快捷键win键+R后在弹出的窗口中输入cmd并按确定,得到如下所示窗口:

在光标所示位置处输入curl后,如果安装成功,显示下图所示:

否则,会提醒如下所示的内容:

二、pushover的安装

Description部分还提到statapush需要使用推送通知服务软件 Pushbullet、Pushover或IFTTT。在选项介绍中,我们已经提到过这3种推送软件。其实,他们的用法大同小异。我们以Pushover为例,介绍其详细用法。对其他两个软件的用法,感兴趣的读者可自行学习。

对于pushover,我们需要进行如下操作:

第 一步,点击上图蓝色标注的“pushover”,在弹出的页面下,用谷歌邮箱(**@gmail.com)注册pushover账户并登录;第二步,在登 录后的页面中,找到“Create an Application/API Token”注册一个新的pushover应用程序,并按上图中提到的要求完成如下所示操作:

点击create Application后,就可以得到API代码 (选项token()中所填内容);第三步,在手机上下载pushover客户端并登录(登录账户和密码是第一步中注册的邮箱账号和登录密码),同时选择对应的手机设备名称,就会收到如下所示的通知:

在该页面的最下端可以看到用户代码(选项userid()中所填内容)。至此,我们完成了所有的设置内容。下面举一个小例子,看看我们的传送门statapush是如何通知我们消息的!比如,我们有一个需要一定运行时间的程序如下所示:

sysuse auto,clear

grss line price weight,sort

sleep 10000

reg price mpg

reg price mpg weight length

sleep 10000

gen gpm = 1000 / mpg

label var gpm "Gallons per thousand miles"

reg mpg weight

ssc install aaplot

grss aaplot mpg weight, both name(g)

statapush,token(ar1cbktdgh**********nhn2d)  userid(uhatf1i67dny********5fzcthm) message(stata program run)

注:省去的代码用“*”代替。

三、statapush的

结果展示

当程序运行结束后,你的手机就会收到如下所示的提醒:

提醒内容和选项message()中设置的是一样的。如果你所运行的程序很长,并且也不能保证程序的完全正确。同时,你即不想一直眼巴巴瞅着运行的程序,又想第一时间知道程序的运行情况(报错或运行结束),该怎么办呢?你没有看错,statapush能帮你实现这个愿望,文章开篇我们介绍的using filename在此处就派上用场啦!还是刚才的例子,将除statapush所在行之外的命令行保存为mydo.do文件,并放置当前路径。在stata命令窗口输入:

statapush using mydo.do,token(ar1cbktdgh**********nhn2d) 

userid(uhatf1i67dny********5fzcthm) message(stata program run)

手机接到如下通知:

提醒到mydo.do文件中有一个错误,程序无法正常运行,当我们回到stata输出结果窗口发现:

原来是grss aaplot这一行命令有错误,点击错误代码r(111),发现是因为选项name()中图名称“g”已经定义过而导致错误,此时我们修改mydo.do文件中这一错误,并重新执行statapush相关的命令行,一段时间后,手机上收到提醒:

告诉我们程序没有错误,并已经执行完毕,此时,我们可以及时回到stata结果窗口,查看我们需要的相关信息。

END

以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

                     文字编辑:   王明

技术总编:刘贝贝



往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.关于RTF你不知道的命令之番外篇

4.免费事件研究,一片片从邮局寄来

5.免费的股价同步性,一片片从邮局寄来

6.Stata叫你回家听音乐了!

7.一言不合就用stata写邮件(Outlook/Foxmail)

8.听说你想知道怎么用stata画地图?

9.I have a Stata, I have a python

10.I have a Stata, I have a Python之二——pdf转word




关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

欢迎关注爬虫俱乐部  

微信扫一扫
关注该公众号