Python 列表参数太大,无法使用芹菜

Python 列表参数太大,无法使用芹菜,python,django,google-cloud-messaging,celery,Python,Django,Google Cloud Messaging,Celery,我使用以下代码发送gcm通知 注册id是巨大的,因为它是最新的 有没有办法降低这个参数 @shared_task def gcm_send_json(registration_ids, data, index=0, **kwargs): NUM_REGISTRATION_ID = SETTINGS.get("GCM_MAX_RECIPIENTS") range_limit = index + NUM_REGISTRATION_ID sub_registrat

我使用以下代码发送gcm通知

注册id
是巨大的,因为它是最新的

有没有办法降低这个参数

 @shared_task
 def gcm_send_json(registration_ids, data, index=0, **kwargs):

     NUM_REGISTRATION_ID = SETTINGS.get("GCM_MAX_RECIPIENTS")
     range_limit = index + NUM_REGISTRATION_ID

     sub_registration_ids = registration_ids[index: range_limit]

     if not sub_registration_ids:
         return

     _gcm_send_json(sub_registration_ids, data, **kwargs)

     if not kwargs:
         kwargs = {}
     kwargs.update({
         'index': range_limit
     })

     eta = timezone.now() + datetime.timedelta(minutes=5)
     gcm_send_json.apply_async(args=[registration_ids, data], kwargs=kwargs, eta=eta)
我可能可以将注册ID存储在redis中,并从
gcm\u send\u json
访问它,然后在迭代整个列表时将其删除。 (不确定这是最佳解决方案……)


或者我可以用发电机吗

在Redis中存储较大的值,并向其传递引用通常是最好的方法。 你不能将发电机传递给芹菜任务