Celery чтение/удаление множества записей

Есть приложение Django и таска в Celery, которая каждую минуту подсчитывает данные из PostgreSQL и удаляет уже подсчитанные данные и сразу отправляет результат работы на другой сервер.

Все работает отлично, НО когда в django shell тестирую работу таски Celery (записываю 100к записей циклом for по 1 запросу). То таска показывает правильный результат в 2 из 10 прогонов теста, без изменения кода.. (например из 100к записей в результат не попадают от 100 до 3000 записей, а иногда все рассчитывается правильно и все записи до единой обработаны)

Сколько уже копаю эту проблему, закомментил вообще все что не связанно с задачей и все другие таски.. результата 0

Вот единственный фрагмент кода который хоть как-то причастен с работой БД, код находятся прямо в самой таске.

queryset = InfoLink.objects.select_related("link_check").filter(Q(link_check__author_id=int(usr[3])))
query_list = list(queryset.values())
delete_id_list = [obj["id"] for obj in query_list]
InfoLink.objects.filter(id__in=delete_id).delete()

P.S иногда получается 100% верный результат это не случайность, код отвечающий конкретно за подсчет работает корректно, проверено. Так же выводил в консоль (print) количество взятых элементов из базы, кол-во удаляемых id в списке, количество удаляемых id из базы... все совпадает, кроме результата работы таски. Может я допускаю какую-то банальную ошибку? Подскажите куда копать или что это может быть в теории...

Вернуться на верх