Celery
配置
基础配置
class Config:
"""
配置类
"""
CACHE_TYPE = 'redis'
CACHE_REDIS_HOST = os.environ.get('CACHE_REDIS_HOST') or '127.0.0.1'
CACHE_REDIS_PORT = os.environ.get('CACHE_REDIS_PORT') or 6379
CACHE_REDIS_DB = os.environ.get('CACHE_REDIS_DB') or '1'
CACHE_REDIS_PASSWORD = os.environ.get('CACHE_REDIS_PASSWORD') or 'greenvalley'
SQLALCHEMY_TRACK_MODIFICATIONS = False
# 'redis://auth:password@redishost:6379/0'
CELERY_BROKER_URL = 'redis://auth:%s@%s:%s/10' % (CACHE_REDIS_PASSWORD, CACHE_REDIS_HOST, CACHE_REDIS_PORT, )
CELERY_RESULT_BACKEND = 'redis://auth:%s@%s:%s/11' % (CACHE_REDIS_PASSWORD, CACHE_REDIS_HOST, CACHE_REDIS_PORT, )
CELERY_DISABLE_RATE_LIMITS = True
@staticmethod
def init_app(app):
pass
task
基本用法
@app.task
def add(a, b):
return a + b
- 当使用多个 解释器 在任务函数上时, 请确保
task
解释器在最外面.
名称
每个任务将会有一个独一无二的名称, 如果用户未指定名称, celery 会自动生成一个
@app.task(name='sum-of-two-numbers')
def add(a, b):
return a + b
- 最好的名称是模块名称
@app.task(name='tasks.add')
def