Я использую djangoq в своем проекте и использую sqs в качестве брокера.Как часть системы я ставлю в очередь некоторые задачи, которые выполняются qcluster и выполняются.Когда некоторые задачи не выполняются, они в конечном итоге попадают в очередь DEAD в SQS.
Теперь, если я добавлю qcluster в эту очередь, задача будет выполнена снова.Но я хочу взять задачу, проверить аргументы, взять PK объектной модели и пометить, что она не удалась.И я нашел то, что мне нужно сделать, это создать новую функцию worker
.и заменить по умолчанию.https://github.com/Koed00/django-q/blob/master/django_q/cluster.py#L341
Проблема в том, что проблема по умолчанию вызывается непосредственно из области в файле и не передается в качестве аргументов другим методам.Поэтому мне нужно создать слой абстракции, который бы импортировал из пакета djangoq, внедряя в него новый рабочий метод.И тогда я запускаю qcluster из этого уровня абстракции.
Но на самом деле не знаю, как внедрить новый метод и даже если это возможно или нет.