Skip to main content
 首页 » 编程设计

python之如何使用 App Engine 中的任务队列 Python API 传递压缩数据

2025年05月04日24powertoolsteam

我正在尝试将压缩数据与任务队列中的任务一起使用,如下所示:

t = taskqueue.Task(url='/tasks/queue', 
                   params={'param': zlib.compress(some_string)} 

但是当我尝试像这样在队列处理程序中解压缩它时

message = self.request.get('param') 
message = zlib.decompress(message) 

我收到这个错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u06b8' in position 2: ordinal not in range(128)

有人知道这里发生了什么吗?有变通办法吗?

请您参考如下方法:

不使用参数,而是使用负载,它在请求正文中包含您的数据,未编码。然后您可以使用 zlib.decompress(self.request.body) 来检索数据。