Я настроил систему для длительных процессов, используя django-rq. Мой работник выглядит нормально, и он говорит, что работа выполняется нормально:
rq_1 | 19:29:24 default: league.jobs.sync_league(league_id=492233) (43c98835-7a6f-42b8-ba58-c9253781786f)
rq_1 | 19:29:24 default: Job OK (43c98835-7a6f-42b8-ba58-c9253781786f)
Но мои данные с работы не отображаются в системе, и при нажатии на готовые работы я получаю сообщение:
('Could not unpickle', UnpicklingError('pickle data was truncated'))
Представление, которое запрашивает задание, выглядит следующим образом:
from .jobs import sync_league
django_rq.enqueue(sync_league, league_id=league_id)
И само задание немного сокращено:
async def sync_league(league_id):
async with aiohttp.ClientSession() as session:
#more code....
for team in page_results:
team = Team.objects.get_or_create(
name=team["entry_name"], fpl_id=team["entry"]
)
team.save()
league.teams.add(team)
league.sync_team_standings()
Я также пытался изменить задание только напечатать («тест»), но это дает ту же ошибку травления.