|
|
# 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 ".*" ".*" ".*"
|
|
|
|