gpt4 book ai didi

Python App Engine 队列任务

转载 作者:太空宇宙 更新时间:2023-11-03 19:15:02 26 4
gpt4 key购买 nike

我尝试在应用引擎上运行任务,但收到以下错误:

ERROR    2012-07-24 18:47:01,030 wsgi.py:189] 
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 187, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 225, in _LoadHandler
handler = __import__(path[0])
ImportError: No module named tasks
INFO 2012-07-24 18:47:01,040 dev_appserver.py:2952] "POST /tasks HTTP/1.1" 500 -
WARNING 2012-07-24 18:47:01,045 taskqueue_stub.py:1934] Task task22 failed to execute. This task will retry in 0.100 seconds

我这样做是为了添加任务:

import os
import webapp2
from google.appengine.ext.webapp import blobstore_handlers
from controllers.basehandler import BaseHandler
from google.appengine.ext import blobstore
from google.appengine.api import taskqueue
from google.appengine.ext.webapp.util import run_wsgi_app


class UploadHandler(blobstore_handlers.BlobstoreUploadHandler, BaseHandler):
def post(self):
upload_files = self.get_uploads('video_file')
blob_info = upload_files[0]

current_user = self.current_user

if current_user:
if current_user.video_file_bob:
old_video = current_user.video_file_bob.key()
blobstore.delete(old_video)

current_user.video_file_bob = blob_info.key()
current_user.put()

params = {'user':current_user}

taskqueue.add(url='/tasks')

self.redirect('/video_upload')

app = webapp2.WSGIApplication([('/store_video', UploadHandler)],
debug=True)

这是任务的代码:

import re
import urlparse
import webapp2
from google.appengine.ext import blobstore
from controllers.basehandler import BaseHandler
import gdata.youtube.service
from google.appengine.api import taskqueue
from google.appengine.ext.webapp.util import run_wsgi_app
import logging


class YoutubeUpload(BaseHandler):

def post(self):
logging.info('Here')


app = webapp2.WSGIApplication([('/tasks', YoutubeUpload)],
debug=True)

关于如何解决这个问题有什么想法吗?

编辑

我的app.yalm的内容:

application: traapp
version: 1
runtime: python27
api_version: 1
threadsafe: True

handlers:
- url: /images
static_dir: assets/images
- url: /link_submit
script: controllers.video_link_submit.app
- url: /video_upload
script: controllers.video_upload.app
- url: /store_video
script: controllers.video_upload_handler.app
- url: /tasks
script: tasks.youtube_upload.app
login: admin
- url: /.*
script: controllers.login.app

libraries:
- name: PIL
version: latest

builtins:
- appstats: on

最佳答案

它看起来像导入错误“ImportError:没有名为任务的模块”。所以我认为下面的说法是错误的。

- url: /tasks
script: tasks.youtube_upload.app

您的问题中第二个 block 的路径和文件名是什么?按照您现在的设置方式,您需要将 youtube_upload.app 放在/tasks 文件夹中,其中也包含 init.py。

关于Python App Engine 队列任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11637442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com