簡體   English   中英

如何自動每小時運行一次CasperJS腳本?

[英]How to run a CasperJS script every hour automatically?

我有一個CasperJS代碼,可以在我的網站上執行一些任務。 我希望代碼每小時運行一次!

目前,代碼每次都在本地手動運行(使用casperjs cas.js )。 現在我要:

  1. 使它每小時自動運行
  2. 部署到某個地方(例如Heroku)

通過使節點服務器每小時運行一次casperjs casper/cas.js命令(使用setInterval函數),可以實現第一個目標。 但是,我無法在Heroku上部署它,因為它僅支持一種類型的代碼(Node.js)。 cas.js腳本是用CasperJS編寫的,因此無法執行!

實現這兩個目標的最佳方法是什么?

假設您使用的是Linux ...


1.最優雅的解決方案是使用 Varonoff建議的cron作業

如果要每小時執行一次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分鍾”。 這是必需的,否則您的腳本將每分鍾運行一次。
  • 由於CasperJS依賴於PhantomJS ,因此您必須使用適當的環境變量( PHANTOMJS_EXECUTABLE )指定PhantomJS命令的路徑。
  • 確保PhantomJS和CasperJS路徑分別是/usr/local/bin/phantomjs/usr/local/bin/casperjs ,使用whichwhich phantomjswhich casperjs )。
  • 不要忘記為您自己的CasperJS腳本編寫絕對路徑
  • 2>&1stderr重定向到stdout


2.如果要通過Node.js運行CasperJS腳本,請使用SpookyJS

npm i spooky

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM