我有一个CasperJS代码,可以在我的网站上执行某些任务。我希望代码每小时运行一次!
目前,代码每次都在本地和手动(使用casperjs cas.js
)运行。现在我想:
我可以通过创建每小时运行命令casperjs casper/cas.js
的节点服务器(使用setInterval
函数)来实现第一个目标。但是,我无法在Heroku上部署它,因为它只支持一种类型的代码(Node.js)。 cas.js
脚本是用CasperJS编写的,因此无法执行!
实现这两个目标的最佳方法是什么?
答案 0 :(得分:1)
我们假设你在Linux上......
的 1。最优雅的解决方案是使用cron作业,如Vaviloff所示。
如果您想每小时执行 CasperJS 脚本,可以使用crontab -e
编辑crontab,然后添加以下条目:
0 * * * * PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs /absolute/path/to/your/casper/script.js 2>&1
一些评论:
0
表示“0分钟”。这是必需的,否则您的脚本将每分钟运行一次。PHANTOMJS_EXECUTABLE
)指定PhantomJS命令的路径。/usr/local/bin/phantomjs
和/usr/local/bin/casperjs
,使用which
(which phantomjs
& which casperjs
)。2>&1
将 stderr 重定向到 stdout 。
的 2。如果要使用Node.js运行CasperJS脚本,请使用SpookyJS。
npm i spooky