Python excel文件生成期间数据存储操作超时

Python excel文件生成期间数据存储操作超时,python,excel,google-app-engine,xlwt,xlutils,Python,Excel,Google App Engine,Xlwt,Xlutils,我正在使用xlwt生成一个excel文件,并将其作为blob属性存储在数据存储中。但是在生成过程中,出现了以下错误:“超时:数据存储操作超时,或者数据暂时不可用。” 我注意到使用xlutils我们可以更新现有的文件。我计划这样做,第一次我将用我的一半数据创建文件,使用另一个任务将完成文件创建 有没有更好的办法 这是我目前的代码: from xlwt import * wb = Workbook() ws0 = wb.add_sheet("Sheet 1") style = XFStyle()

我正在使用xlwt生成一个excel文件,并将其作为blob属性存储在数据存储中。但是在生成过程中,出现了以下错误:“超时:数据存储操作超时,或者数据暂时不可用。”

我注意到使用xlutils我们可以更新现有的文件。我计划这样做,第一次我将用我的一半数据创建文件,使用另一个任务将完成文件创建

有没有更好的办法

这是我目前的代码:

from xlwt import *
wb = Workbook()
ws0 = wb.add_sheet("Sheet 1")

style = XFStyle()
style.font.name = 'Tahoma'   

currency_style = XFStyle()
currency_style.num_format_str = '$#,##0.00'       

ws0.write(0, 0, 'Col 1', style)
ws0.write(0, 1, 'Col 2', style)
ws0.write(0, 2, 'Col 3', style)
ws0.write(0, 3, 'Col 4', style)
rx = 1

for each in db_result:                
      ws0.write(rx, 0, each.col1, style)
      ws0.write(rx, 1, each.col2, style)
      ws0.write(rx, 2, each.col3, style)

      try:
          ws0.write(rx, 3, round(float(each.col4), 2), currency_style)
      except:
          ws0.write(rx, 3, each.col4, style)

      rx = rx + 1                
      db.delete(each)

buffer = StringIO.StringIO()
wb.save(buffer)
contents = buffer.getvalue()

f = myfile()
f.name = 'File 1'
f.file = db.Blob(contents)
f.put()

如果只是一个超时问题,即代码运行的时间比超时时间长,则可以使用一个任务来代替,这会给您10分钟的超时时间,而不是60秒:

因此,将程序封装在一个可以传递给defer方法的函数中。或者考虑使用其他一些选项,如后端:

应用程序引擎后端是应用程序的实例,不受 请求截止日期并访问更多内存(高达1GB)和CPU (高达4.8GHz)比正常情况下。它们是为 需要更快性能、大量可用性的应用程序 可寻址内存和连续或长时间运行的后台 过程。后端有多种尺寸和配置,并且 按正常运行时间计费,而不是按CPU使用率计费

from google.appengine.ext import deferred

  def do_something_expensive(a, b, c=None):
      logging.info("Doing something expensive!")
      # Do your work here

  # Somewhere else
  deferred.defer(do_something_expensive, "Hello, world!", 42, c=True)