2013-07-21 16 views
5

我試圖將AppEngine應用程序轉換爲一個使用模塊的後端(由Google推薦)。將AppEngine後端轉換爲模塊的問題

我轉換backends.yaml與backends_conversion.py的app.yaml backends.yaml

在 appcfg.py更新producer.yaml

我比收到錯誤,該版本 「製片人」 已經存在,我應該改變模塊名稱。

我沒有這樣做(因爲我使用模塊名稱作爲任務隊列目標)。相反,我停止並刪除了正在運行的後端版本。

上傳之後工作的模塊。

但排隊任務(通過taskqueue)不起作用(即沒有模塊的實例啓動)。

也試圖從瀏覽器地址的模塊(producer.appid.appspot.com)prduces一個HTTP 503

有什麼不對?

[更新] 我們明確adressing後端:

taksqueue.add(..., target='producer') 

的任務隊列文檔不說怎麼做,與模塊。

[更新] producer.yaml

admin_console: 
    pages: 
    - name: Initialize 
    url: /init 
api_version: '1' 
application: lpsng2 
basic_scaling: 
    max_instances: '1' 
builtins: 
- remote_api: 'on' 
default_expiration: 8d 
env_variables: 
    TMP: C:\temp 
handlers: 
- login: admin 
    mime_type: image/vnd.microsoft.icon, 
    secure: optional 
    static_files: static/favicon.ico 
    upload: static/favicon.ico 
    url: /favicon.ico 
- login: admin 
    mime_type: image/png 
    secure: optional 
    static_files: static/images/lpsng_icon_os_144.png 
    upload: static/images/lpsng_icon_os_144.png 
    url: /apple-touch-icon-precomposed.png 
- login: admin 
    mime_type: application/x-chrome-extension 
    secure: optional 
    static_files: static/lpsng.crx 
    upload: static/lpsng.crx 
    url: /static/lpsng.crx 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    mime_type: image/png 
    secure: optional 
    static_files: static/\1.png 
    upload: static/(.*).png 
    url: /static/(.*).png 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    mime_type: image/jpeg 
    secure: optional 
    static_files: static/\1.jpg 
    upload: static/(.*).jpg 
    url: /static/(.*).jpg 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_dir: static 
    url: /static 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/lib/\2 
    upload: source/lib/ace/lib/(.*) 
    url: /js/(.*)/lib/ace/lib/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/css/\2 
    upload: source/lib/ace/css/(.*) 
    url: /js/(.*)/lib/ace/css/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/mode/\2 
    upload: source/lib/ace/mode/(.*) 
    url: /js/(.*)/lib/ace/mode/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/mode/json/\2 
    upload: source/lib/ace/mode/json/(.*) 
    url: /js/(.*)/lib/ace/mode/json/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/mode/python/\2 
    upload: source/lib/ace/mode/python/(.*) 
    url: /js/(.*)/lib/ace/mode/python/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/theme/\2 
    upload: source/lib/ace/theme/(.*) 
    url: /js/(.*)/lib/ace/theme/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/worker/\2 
    upload: source/lib/ace/worker/(.*) 
    url: /js/(.*)/lib/ace/worker/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/\2 
    upload: source/lib/ace/(.*) 
    url: /js/(.*)/lib/ace/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/lib/ace/\2/\3/\4 
    upload: source/lib/ace/(.*)/(.*) /(.*) 
    url: /js/(.*)/lib/ace/(.*)/(.*)/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: buildout/\2 
    upload: buildout/(.*) 
    url: /js/(.*)/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: buildcss/\1 
    upload: buildcss/(.*) 
    url: /css/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/\2/\3 
    upload: dummy/dummy.txt 
    url: /source/(.*)/(.*)/(.*) 
- http_headers: 
    Vary: Accept-Encoding 
    login: admin 
    secure: optional 
    static_files: source/\2 
    upload: dummy/dummy.txt 
    url: /source/(.*)/(.*) 
- script: main.app 
    secure: optional 
    url: .* 
inbound_services: 
- xmpp_message 
instance_class: B8 
libraries: 
- name: webapp2 
    version: 2.5.2 
- name: markupsafe 
    version: '0.15' 
- name: jinja2 
    version: '2.6' 
- name: PIL 
    version: 1.1.7 
module: producer 
runtime: python27 
skip_files: (?:^(.*/)?app\.yaml)|(?:^(.*/)?app\.yml)|(?:^(.*/)?index\.yaml)|(?:^(.*/)?index\.yml)|(?:^(.*/)?#.*#)|(?:^(.*/)?.*~)|(?:^(.*/)?.*\.py[co])|(?:^(.*/)?.*/RCS/.*)|(?:^(.*/)?\..*)|(?:^dev/(.*))|(?:^build/(.*))|(?:(.*/source/.*))|(?:^source1/lib/([^\/]*)$)|(?:^dist/(.*)$)|(?:^data/blob/(.*))|(?:^data/log/(.*))|(?:^data/temp/(.*))|(?:^data/db/(.*))|(?:^conf/standalone[.](.*))|(?:^conf/enterprise[.](.*))|(?:^standalone/(.*))|(?:^Output/(.*))|(?:^Microsoft.VC90.CRT/(.*))|(?:^notUsed/(.*))|(?:^(.*)\.pxd) 
threadsafe: true 
version: '2' 
+1

只是想讓你知道我面臨同樣的問題,並熱切地希望有人會在這裏發出有用的信息! – Jeremy

+0

我有同樣的問題,但在Java土地。我提出了一個生產問題。 – step76

+0

您是否找到解決方案? – step76

回答

1

一種方法:你可以設置你的dispatch file使某些你的任務的處理程序被路由到特定的模塊。 注意:您更改您的dispatch.yaml文件後,你需要運行

appcfg.py update_dispatch <proj_dir> 
+0

我目前正在將某些延遲任務定位到更大內存的後端。對於延遲,默認URL在延遲庫中進行控制,並且是/ _ah/queue/deferred。我想我可以改變它,但真的是黑客,我想看到一個更清潔的解決方案,爲什麼不能將隊列「目標」作爲模塊名稱? – gae123

+0

我提出了一個問題來跟蹤這個。它至今仍未修復... https://code.google.com/p/googleappengine/issues/detail?id=10326 – gae123

0

要在生產

啓動額外的模塊(實例)我終於發現有必要的問題來自本地機器的命令行指令。

$ appcfg.py update app.yaml worker.yaml 

如果很小的「GoogleAppEngineLauncher」這樣做,我還沒有發現如何。