# List of modules to import when celery starts. import sys import os import ConfigParser root = os.getcwd() PYLONS_CONFIG_NAME = 'production.ini' sys.path.append(root) config = ConfigParser.ConfigParser({'here':root}) config.read('%s/%s' % (root, PYLONS_CONFIG_NAME)) PYLONS_CONFIG = config CELERY_IMPORTS = ("rhodecode.lib.celerylib.tasks",) ## Result store settings. CELERY_RESULT_BACKEND = "database" CELERY_RESULT_DBURI = dict(config.items('app:main'))['sqlalchemy.db1.url'] CELERY_RESULT_SERIALIZER = 'json' BROKER_CONNECTION_MAX_RETRIES = 30 ## Broker settings. BROKER_HOST = "localhost" BROKER_PORT = 5672 BROKER_VHOST = "rabbitmqhost" BROKER_USER = "rabbitmq" BROKER_PASSWORD = "qweqwe" ## Worker settings ## If you're doing mostly I/O you can have more processes, ## but if mostly spending CPU, try to keep it close to the ## number of CPUs on your machine. If not set, the number of CPUs/cores ## available will be used. CELERYD_CONCURRENCY = 2 # CELERYD_LOG_FILE = "celeryd.log" CELERYD_LOG_LEVEL = "DEBUG" CELERYD_MAX_TASKS_PER_CHILD = 3 #Tasks will never be sent to the queue, but executed locally instead. CELERY_ALWAYS_EAGER = False if PYLONS_CONFIG_NAME == 'test.ini': #auto eager for tests CELERY_ALWAYS_EAGER = True #=============================================================================== # EMAIL SETTINGS #=============================================================================== pylons_email_config = dict(config.items('DEFAULT')) CELERY_SEND_TASK_ERROR_EMAILS = True #List of (name, email_address) tuples for the admins that should receive error e-mails. ADMINS = [('Administrator', pylons_email_config.get('email_to'))] #The e-mail address this worker sends e-mails from. Default is "celery@localhost". SERVER_EMAIL = pylons_email_config.get('error_email_from') #The mail server to use. Default is "localhost". MAIL_HOST = pylons_email_config.get('smtp_server') #Username (if required) to log on to the mail server with. MAIL_HOST_USER = pylons_email_config.get('smtp_username') #Password (if required) to log on to the mail server with. MAIL_HOST_PASSWORD = pylons_email_config.get('smtp_password') MAIL_PORT = pylons_email_config.get('smtp_port') #=============================================================================== # INSTRUCTIONS FOR RABBITMQ #=============================================================================== # rabbitmqctl add_user rabbitmq qweqwe # rabbitmqctl add_vhost rabbitmqhost # rabbitmqctl set_permissions -p rabbitmqhost rabbitmq ".*" ".*" ".*"