Sorry if this is not an appropriate place for a django/djcelery related 
error.

I am getting the following error:

File 
"/Library/Python/2.7/site-packages/Django-1.8.2-py2.7.egg/django/utils/translation/trans_real.py",
 line 164, in _add_installed_apps_translations"The translation infrastructure 
cannot be initialized before the "
django.core.exceptions.AppRegistryNotReady: The translation infrastructure 
cannot be initialized before the apps registry is ready. Check that you don't 
make non-lazy gettext calls at import time.

I have a project which is not really a django app but a celery app. 
Therefore, I have not created a wsgi.py or models.py or any of the typical 
files created by django-admin when a project or app is started.

I only want to use djcelery to be able to create periodic tasks using the 
djcelery.schedules.DatabaseScheduler like specified here Add, modify, 
remove celery.schedules at run time 
<http://stackoverflow.com/questions/23740880/add-modify-remove-celery-schedules-at-run-time?lq=1>
 and 
here How to dynamically add / remove periodic tasks to Celery (celerybeat) 
<http://stackoverflow.com/questions/10194975/how-to-dynamically-add-remove-periodic-tasks-to-celery-celerybeat>

The solution to the problem as given here (AppRegistryNotReady, translation 
bug when deploying with uWSGI <https://code.djangoproject.com/ticket/23146>) 
requires me to make changes to vassal.ini file. There is no vassal.ini file 
in my implementation.

I will briefly describe my proj -

proj
  apps.py
  tasks.py
  celeryconfig.py
  runproj.py
- apps.pyfrom celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'celeryconfig')
myapp = Celery('myapp')
myapp.config_from_object('celeryconfig')if __name__ == '__main__'
    myapp.worker_main('--loglevel=DEBUG', '-B', '-S', 
'djcelery.schedules.DatabaseScheduler')
- tasks.pyfrom apps import my...@myapp.task(name='proj.msg_printer')def 
msg_printer(msg):
    print msg
- runproj.pyfrom djcelery.models import PeriodicTask, IntervalSchedule
intSch = IntervalSchedule(period='seconds', every=30)
periodic_task = PeriodicTask(
  name = '30-sec-msg-printer',
  task = 'proj.tasks.msg_printer',
  interval = intSch,
  args=json.dump(['such-wow']),
 )
periodic_task.save()
- celeryconfig.py
CELERY_ACCEPT_CONTENT = ['pickle', 'json']
BROKER_URL = 'amqp://guest@localhost'
CELERY_IMPORTS = ('proj.tasks')
CELERY_QUEUES = [Queue('default', Exchange('default', type='direct'), 
routing_key='default')]
#DJANGO SETTINGS
INSTALLED_APPS = 
('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','djcelery',)

DATABASES = {'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join('/home', 'test.db'),
    }}

Before I run the workers I created the required tables using the django-admin 
migrate command. I can see the relevant tables to store interval schedules 
and periodic tasks in the /home/test.db database.

First I run the workers - $python apps.py Then I save a schedule to the 
database to be executed repeatedly by celerybeat daemon - $python runproj.py

Any thoughts? Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ac452147-6798-46f3-a2d2-2b0177011a82%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to