為了避免這種困擾, 可以用 Google App Engine 的 Cron Job 來定期拜訪這些網站, 機械式地製造流量來避免. GAE 的 Cron Job 可是非常穩定與準時的喲 !
首先, 先寫個簡單的 PHP, 例如 hello.php :
把 hello.php 上傳到目前閒置中的免費 PHP 主機上. 例如我的 mybidbot 網站.
然後在 GAE 上新增一個應用程式, 修改其中的 cron.yaml 如下 :
其中重要的是 url 與 schedule 設定, url 設定為自動呼叫在 main.py 中的 URL 要求處理程式 hello1, 而 schedule 是每 32 分鐘呼叫一次, GAE 最低只能設 1 分鐘一次. 注意, 每一分鐘是 every 1 minutes, 每一小時是 every 1 hours, 每一天則是 every 1 days, 要用複數 .
最後是修改 main.py 如下 :
如果有多個網站, 就在 ('/hello1', hello1) 後面加一逗號, 再複製一項例如 ('/hello2', hello2), 複製 hello1 的 class 改為 hello2, 並修改其中的 url 網址即可, 這樣 GAE 就會週期性拜訪這些網站下的 hello.php 製造流量了, 好像 heartbeat 一樣. GAE Cron job 詳參 :
https://developers.google.com/appengine/docs/python/config/cron?hl=zh-tw
如果要更新 cron 服務設定, 只要把 cron.yaml 修改好, 然後打開 DOS 視窗, 切換到應用程式目錄上一層, 例如 gaebuilder 執行下列指令即可更新 cron 服務設定 :
更新完成後, 若要確認 cron 內容是否已修改, 可用下列指令顯示目前所設定之排程服務, 到應用程式目錄上一層執行 :
appcfg.py cron_info gaebuilder
如果要刪除全部 cron 排程設定 (即停止 cron 運作), 只要留下 cron.yaml 裡的第一行 "cron:" 其餘刪除, 再以上述指令更新 cron 服務設定即可.
注意喔, GAE 對 cron 服務是有限制的 :
(1). 最短執行週期為 1 分鐘
(2). 一個應用服務最多可設定執行 20 個 URL (只能透過 http/https 協定).
沒有留言:
張貼留言