有趣的GAE:urlfetch rpc超时

时间:2011-07-25 18:05:52

标签: python google-app-engine

我正在尝试将图像写入blob商店。我已经尝试了fetch_response = urlfetch.fetch(image_url, deadline=10)超时,现在我正在尝试使用相同结果的rpc。有人能告诉我以下代码有什么问题吗?谢谢你的帮助:

    media_items = ['logo.png']
    content_type = 'image/png'
    for media_item in media_items:
        image_url = 'http://localhost:8080/image/' + media_item
        #fetch_response = urlfetch.fetch(image_url, deadline=10)
        rpc = urlfetch.create_rpc(deadline=20)
        urlfetch.make_fetch_call(rpc, image_url)
        try:
            file_data = rpc.get_result()
            file_name = files.blobstore.create(mime_type=content_type)
            with files.open(file_name, 'a') as f:
                f.write(file_data)
            files.finalize(file_name)
            blob_key = files.blobstore.get_blob_key(file_name)
            create_media_item(blob_key)
        except urlfetch.DownloadError:
            logging.error('DownloadError')

这在我的机器上运行,如果我使用此URL查看浏览器中的图片,则会显示。我的logging.error()已打印出来。

2 个答案:

答案 0 :(得分:3)

如果要从自己的应用程序中获取blob,则应该使用BlobReader或从文件系统加载该文件。

答案 1 :(得分:1)

因为看起来dev服务器是单线程的,如果你想向它发送请求,你必须运行2个实例:

GoogleAppEngine urlfetch timeout exception