2013-07-21 11 views
5

Sto provando a convertire un'applicazione AppEngine, che ha utilizzato un backend in uno utilizzando un modulo (come raccomandato da Google).Problemi di conversione del backend AppEngine nel modulo

ho convertito la backends.yaml con backends_conversion.py app.yaml backends.yaml

Durante appcfg.py aggiornamento producer.yaml

ho più ricevuto l'errore, che la versione "produttore" già esistito e che dovrei cambiare il nome del modulo.

Non l'ho fatto (perché uso il nome del modulo come obiettivo taskqueue). Invece ho fermato ed eliminato la versione back-end in esecuzione.

Carica il modulo lavorato in seguito.

Ma l'attività di accodamento (tramite taskqueue) non funziona (ovvero nessuna istanza del modulo viene avviata).

cercando anche di affrontare il modulo dal browser (producer.appid.appspot.com) prduces un http 503.

Cosa c'è di sbagliato?

[Update] Ci sono rivolgendosi esplicitamente il backend:

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

La documentazione TaskQueue service non dice come fare con i moduli.

[Update] 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

Volevo solo farti sapere che sto affrontando lo stesso problema e sto sperando impazientemente che qualcuno ci suoni dentro con informazioni utili! – Jeremy

+0

Ho lo stesso problema ma in Java land. Ho presentato un problema di produzione. – step76

+0

Hai trovato una soluzione? – step76

risposta

1

Un approccio: è possibile impostare il dispatch file in modo che alcuni dei vostri gestori di attività vengono indirizzati a un modulo specifico. Nota: dopo aver apportato le modifiche al file dispatch.yaml, è necessario eseguire

appcfg.py update_dispatch <proj_dir> 
+0

Attualmente sto indirizzando determinate attività posticipate a un backend di dimensioni di memoria più grandi. Per posticipato, l'URL predefinito è controllato nella libreria posticipata ed è/_ah/coda/differito. Credo che potrei cambiarlo ma è davvero un trucco, mi piacerebbe vedere una soluzione più pulita, perché un "target" di coda non può essere un nome di modulo? – gae123

+0

Ho archiviato un problema per rintracciarlo. Non è ancora stato risolto a partire da oggi ... https://code.google.com/p/googleappengine/issues/detail?id=10326 – gae123

0

Per avviare moduli aggiuntivi (istanze) sulla produzione

ho finalmente scoperto che è necessario emettere un'istruzione della riga di comando dalla mia macchina locale.

$ appcfg.py update app.yaml worker.yaml 

Se il grazioso "GoogleAppEngineLauncher" lo fa, devo ancora scoprire come.

Problemi correlati