mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-15 15:30:16 +02:00
Stop using task_self in bound tasks.
This commit is contained in:
parent
f3f156bf57
commit
08f89d2844
@ -60,7 +60,7 @@ class DiscordTasks:
|
||||
|
||||
@staticmethod
|
||||
@shared_task(bind=True, name='discord.update_groups', base=QueueOnce)
|
||||
def update_groups(task_self, pk):
|
||||
def update_groups(self, pk):
|
||||
user = User.objects.get(pk=pk)
|
||||
logger.debug("Updating discord groups for user %s" % user)
|
||||
if DiscordTasks.has_account(user):
|
||||
@ -71,7 +71,7 @@ class DiscordTasks:
|
||||
except DiscordApiBackoff as bo:
|
||||
logger.info("Discord group sync API back off for %s, "
|
||||
"retrying in %s seconds" % (user, bo.retry_after_seconds))
|
||||
raise task_self.retry(countdown=bo.retry_after_seconds)
|
||||
raise self.retry(countdown=bo.retry_after_seconds)
|
||||
except HTTPError as e:
|
||||
if e.response.status_code == 404:
|
||||
try:
|
||||
@ -82,9 +82,9 @@ class DiscordTasks:
|
||||
finally:
|
||||
raise e
|
||||
except Exception as e:
|
||||
if task_self:
|
||||
if self:
|
||||
logger.exception("Discord group sync failed for %s, retrying in 10 mins" % user)
|
||||
raise task_self.retry(countdown=60 * 10)
|
||||
raise self.retry(countdown=60 * 10)
|
||||
else:
|
||||
# Rethrow
|
||||
raise e
|
||||
@ -101,7 +101,7 @@ class DiscordTasks:
|
||||
|
||||
@staticmethod
|
||||
@shared_task(bind=True, name='discord.update_nickname', base=QueueOnce)
|
||||
def update_nickname(task_self, pk):
|
||||
def update_nickname(self, pk):
|
||||
user = User.objects.get(pk=pk)
|
||||
logger.debug("Updating discord nickname for user %s" % user)
|
||||
if DiscordTasks.has_account(user):
|
||||
@ -113,11 +113,11 @@ class DiscordTasks:
|
||||
except DiscordApiBackoff as bo:
|
||||
logger.info("Discord nickname update API back off for %s, "
|
||||
"retrying in %s seconds" % (user, bo.retry_after_seconds))
|
||||
raise task_self.retry(countdown=bo.retry_after_seconds)
|
||||
raise self.retry(countdown=bo.retry_after_seconds)
|
||||
except Exception as e:
|
||||
if task_self:
|
||||
if self:
|
||||
logger.exception("Discord nickname sync failed for %s, retrying in 10 mins" % user)
|
||||
raise task_self.retry(countdown=60 * 10)
|
||||
raise self.retry(countdown=60 * 10)
|
||||
else:
|
||||
# Rethrow
|
||||
raise e
|
||||
|
@ -1,12 +1,11 @@
|
||||
import logging
|
||||
|
||||
from celery import shared_task, Task
|
||||
from celery import shared_task
|
||||
from django.contrib.auth.models import User
|
||||
from .hooks import ServicesHook
|
||||
from celery_once import QueueOnce as BaseTask, AlreadyQueued
|
||||
from celery_once.helpers import now_unix, queue_once_key
|
||||
from celery_once.helpers import now_unix
|
||||
from django.core.cache import cache
|
||||
from inspect import getcallargs
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -16,22 +15,6 @@ class QueueOnce(BaseTask):
|
||||
once = BaseTask.once
|
||||
once['graceful'] = True
|
||||
|
||||
def get_key(self, args=None, kwargs=None):
|
||||
"""
|
||||
Generate the key from the name of the task (e.g. 'tasks.example') and
|
||||
args/kwargs.
|
||||
"""
|
||||
restrict_to = self.once.get('keys', None)
|
||||
args = args or {}
|
||||
kwargs = kwargs or {}
|
||||
call_args = getcallargs(self.run, *args, **kwargs)
|
||||
|
||||
if isinstance(call_args.get('self'), Task):
|
||||
del call_args['self']
|
||||
if isinstance(call_args.get('task_self'), Task):
|
||||
del call_args['task_self']
|
||||
return queue_once_key(self.name, call_args, restrict_to)
|
||||
|
||||
|
||||
class DjangoBackend:
|
||||
def __init__(self, settings):
|
||||
|
Loading…
x
Reference in New Issue
Block a user