Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

335
Views
Django: Celery no puede encontrar mi aplicación
ModuleNotFoundError: No module named 'myapp'

Realmente no entiendo cuál es el problema aquí. No hay problemas con mi aplicación, pero parece que el apio no puede encontrarla sin importar lo que intente y cambie.

Aquí está mi estructura de directorios:

 django / mysite __init__.py celery.py settings.py urls.py wsgi.py / myapp admin.py apps.py models.py tasks.py urls.py views.py manage.py

apio.py:

 from __future__ import absolute_import, unicode_literals import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') app = Celery('myapp') # Using a string here means the worker don't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object('django.conf:settings', namespace='CELERY') # Load task modules from all registered Django app configs. app.autodiscover_tasks() @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))

Comando: celery -A myapp worker -l info

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Asegúrese de que su archivo init .py contenga lo siguiente:

 from __future__ import absolute_import, unicode_literals # This will make sure the app is always imported when # Django starts so that shared_task will use this app. from .celery_worker import app as celery_app __all__ = ['celery_app']

Además, asegúrese de que su celery.py se vea similar a este

 from __future__ import absolute_import, unicode_literals import os from celery import Celery from celery.schedules import crontab import mysite # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') app = Celery('wellfie') # Using a string here means the worker don't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object('django.conf:settings', namespace='CELERY') # Load task modules from all registered Django app configs. app.autodiscover_tasks() @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))

Asegúrese de que sus tareas también se reconozcan correctamente: por ejemplo, una tarea compartida se vería como

@shared_task(name="mysite.myapp.tasks.simple_task") Editar.

En realidad, debe mover myapp fuera de mysite y colocarlo en la carpeta Django. También cambiaría el nombre de la carpeta Django a mysite, de modo que tenga la carpeta principal mysite, la carpeta secundaria mysite, que contiene wsgi, apio, configuraciones, etc., la carpeta secundaria myapp

over 4 years ago · Santiago Trujillo Report

0

Su archivo celery.py debe estar en la carpeta myapp . ( http://docs.celeryproject.org/en/latest/django/primeros-pasos-con-django.html )

Debe ejecutar celery -A myapp worker -l info en la carpeta mysite .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!