2009年5月17日 星期日

app.yaml / cron.yaml內容說明 (未完成)

app.yaml:

application: myapp
version: 1
runtime: python
api_version: 1

handlers:

- url: /
script: home.py

- url: /index\.html
script: home.py

- url: /stylesheets
static_dir: stylesheets

- url: /(.*\.(gifpngjpg))
static_files: static/\1
upload: static/(.*\.(gifpngjpg))

在常規表示式(regular expression)中有group的使用. 而已上表示式中的(.*\.(gifpngjpg))即為一個group, 當有符合這個group表示式的字串被辨識(上例即為任何.gif .png .jpg 檔,也就是常用的圖型檔檔名), 這時會以 \1 (數字1)來表示這一個 group的內容, 若在 url 中有設定多個 group的pattern, 下方則可依序以 \1 \2 \3 ...... 來表示.

又如下例, url中的 (.*?) 為第一個 group, (.*)為第二個group, 若今有一URL /item-123/category-456 被request, 則他所對應到的實體位置則是在 /archives/456/items/123
handlers:
- url: /item-(.*?)/category-(.*)
static_files: archives/\2/items/\1


- url: /admin/.*
script: admin.py
login: admin

- url: /.*
script: not_found.py




cron.yaml

cron:
- description: daily summary job
url: /tasks/summary
schedule: every 24 hours

- description: monday morning mailout
url: /mail/weekly
schedule: every monday 09:00 timezone: Australia/NSW


("every"ordinal) (days) ["of" (monthspec)] (time)

every 5 minutes
every 12 hours
2nd,third mon,wed,thu of march 17:00
every monday 09:00
1st monday of sep,oct,nov 17:00
every day 00:00

1 則留言:

  1. Google App Engine 的資料庫跟 Django 的 relational database 很不相容,目前要把這兩個湊成的好像 http://code.google.com/p/app-engine-patch/ 做的最好。

    回覆刪除