0
我使用以下代碼發送gcm通知。太大的芹菜列表參數
registration_ids
是巨大的,因爲它是接收者的數量。
有沒有辦法切斷該參數?
@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)
我可以registration_ids可能存儲在Redis的,並從gcm_send_json
訪問它,並刪除它時,我遍歷整個列表。 (不知道這是最好的解決方案..)
或我可以使用發電機?