Minhas tarefas falhar e não mais executar devido a um tal erro de arquivo. Eu estou usando o backend baseado em arquivo e este é meu set up.
se o backend baseado temporário ser criado quando o aplicativo está acima? Isso não está acontecendo quando meu aplicativo está sendo executado e as tarefas são inicialmente disparar. Parece falhar quando o bloqueio ocorre
settings.py
CELERY_ONCE = {
'backend': 'celery_once.backends.File',
'settings': {
'location': '/tmp/celery_once/',
'default_timeout': 60 * 60
}
}
CELERY_BROKER_URL = 'pyamqp://rabbitmq:5672'
CELERY_RESULT_BACKEND = 'django-db'
CELERYD_HIJACK_ROOT_LOGGER = False
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_TIMEZONE = 'UTC'
CELERYBEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
celery.py
from future import absolute_import
import os
from celery import Celery
from django.conf import settings
all = [
'celery',
'QueueOnce',
]
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'autobets.settings')
os.environ.setdefault('DJANGO_CONFIGURATION', 'Development')
import configurations
configurations.setup()
app = Celery('autobets')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.conf.ONCE = settings.CELERY_ONCE
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
tasks.py
@shared_task(bind=True,base=QueueOnce, once={'graceful': True})
def get_events(self):
do stuff bla bla bla
rastreamento de pilha abaixo
https://gist.github.com/Cally99/a72bcb2a6f12aa6f00ff470624544a9e