這次的麻煩主要是我忽略 000a.biz 要求升級的來信, 我認為那只是行銷而已, 不予理會, 結果四月十日果真就被停止後台使用權了, 這麼巧, Inhon 筆電就在同一天無法啟動, 必須從光碟做系統回復. 這樣一來本機伺服器在 C:\ AppServ\www 下的程式檔都消失了, 而 TF 卡中的程式雖還在, 但可能不是最新的. 幸好 000a.biz 同意我取回程式的要求, 這幾天就是忙比對取回的程式與 TF 卡中備份的程式有何差異. 沒有做好資料保全的下場就是這樣, 浪費寶貴的時間.
程式檔回復後上傳 Appfog, 接下來就是 GAE 驅動程式的部分了. 先到 GAE 申請一個新的應用程式專案, 然後把之前給驅動 000a.biz 的應用程式複製一份, 作如下修改 :
- main.py : 把原 000a.biz 的 URL 為 Appfog URL.
- app.yaml : 把第一行的 application 名稱改為新應用程式名稱
- default.htm : 把標題改為 Appfog 應用程式名稱
# https://cloud.google.com/appengine/downloads
更新完上傳應用程式卻出現如下訊息 :
2015-04-23 17:03:24 Running command: "['C:\\Python27\\pythonw.exe', '-u', 'C:\\Program Files (x86)\\Google\\google_appengine\\appcfg.py', '--oauth2', 'update', u'E:\\GAE\\appfog-myAPP']"
05:03 PM Application: appfog-myAPP; version: 1
05:03 PM Host: appengine.google.com
05:03 PM
Starting update of app: appfog-myAPP, version: 1
05:03 PM Getting current resource limits.
2015-04-23 17:03:35,434 WARNING old_run.py:88 This function, oauth2client.tools.run(), and the use of the gflags library are deprecated and will be removed in a future version of the library.
Your browser has been opened to visit:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&response_type=code&client_id=xxxxxxxxx.apps.googleusercontent.com&access_type=offline
If your browser is on a different machine then exit and re-run
this application with the command-line parameter
--noauth_local_webserver
- 上傳應用程式 :
appcfg.py update APPNAME - 更新 CRON :
appcfg.py update_cron APPNAME - 顯示 CRON :
appcfg.py cron_info APPNAME - 下載應用程式 :
appcfg.py download_app -A APPNAME -V 1 DIRNAME
E:\GAE>appcfg.py update appfog-myAPP
07:28 PM Application: appfog-myAPP; version: 1
07:28 PM Host: appengine.google.com
####################################################
OAuth2 is now the recommended authentication method.
Use the --oauth2 flag to enable.
####################################################
07:28 PM
Starting update of app: appfog-myAPP, version: 1
07:28 PM Getting current resource limits.
Email: tony123@gmail.com
Password for tony123@gmail.com:
07:29 PM Scanning files on local disk.
07:29 PM Cloning 1 static file.
07:29 PM Cloning 9 application files.
07:29 PM Compilation starting.
07:29 PM Compilation completed.
07:29 PM Starting deployment.
07:29 PM Checking if deployment succeeded.
07:29 PM Deployment successful.
07:29 PM Checking if updated app version is serving.
07:29 PM Completed update of app: appfog-myAPP, version: 1
07:29 PM Uploading index definitions.
07:29 PM Uploading cron entries.
跑了近四小時, 觀察對 Appfog 發出的 Request 蠻正常, 完全 0 error, 可見 Appfog 主機真的一級棒, 難怪收費比人家貴, 還好我有留下免費帳戶, 雖然容量與流量有受限制, 但作為實驗性網站也夠了 :
哈哈, 系統又重新跑起來了, 估計後天全部資料就會抓完全了, 但要謹記這次的教訓, 定期備份系統.
接下來要把目前已經沒用到的 GAE cron table 停掉, 只留兩個 Appfog 帳號以及慢速測試用的 0000webhost 驅動器即可.
參考 :
# 停止 GAE 的 cron jobs 的方法
# 下載備份 Google App Engine 應用程式檔案的方法
# Uploading, Downloading, and Managing a Python App
沒有留言:
張貼留言