2011-07-25 4 views
1

私はブロブストアに画像を書き込もうとしています。私はfetch_response = urlfetch.fetch(image_url, deadline=10)を試してみましたが、今は同じ結果でrpcを試しています。誰かが次のコードの何が間違っているか教えてもらえますか?あなたのお手伝いをありがとう:GAEで楽しみ:urlfetch 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()が表示されます。

+1

'logging.error'の代わりに' logging.exception'を使うと、ログメッセージにスタックトレースと例外情報が入ります。 –

+0

ありがとうニック!それは非常に便利です! –

答えて

1

それはdevのサーバーがシングルスレッドであり、あなたがそれに要求を送信したい場合は、2 instacesを実行する必要がありそうですとおり:

GoogleAppEngine urlfetch timeout exception

3

あなたがあなた自身のアプリケーションからブロブを取得している場合は、おそらくBlobReaderを使用するか、ファイルシステムからファイルをロードする必要があります。

関連する問題