Я пытаюсь загрузить твиты с временной шкалы пользователя в твиттер и при этом отображать индикатор выполнения . Чтобы использовать индикатор выполнения, вы должны знать, сколько «работы» необходимо выполнить, чтобы выполнить задачу.
from celery import shared_task
from celery_progress.backend import ProgressRecorder
import time
@shared_task(bind=True)
def my_task(self, seconds):
progress_recorder = ProgressRecorder(self)
result = 0
for i in range(seconds):
time.sleep(1)
result += i
progress_recorder.set_progress(i + 1, seconds)
return result
Проблема в том, что счетчик, который вы указываете в GetUserTimeline, не обязательно является количеством твитов, которое возвращается на вызов (из-за удаленных твитов и т. Д. Количество возвращаемых твитов может быть меньше) , Это означает, что вы не можете рассчитать количество вызовов, которые должны быть сделаны в API Twitter, чтобы достичь целевого количества полученных твитов (количество «работы», которое необходимо выполнить), без предварительной загрузки твитов. Кто-нибудь может придумать решение ??