我在AWS ECS上运行超设置和芹菜。芹菜工人、芹菜拍子和Superset在同一任务的单独容器中运行。我在芹菜中打开了调试日志,这样我就可以看到芹菜所采取的每一步。芹菜开始运转了。芹菜工人一直到日志消息DEBUG/MainProcess] | Consumer: Starting Connection
,芹菜拍到第一次醒来,然后显示日志消息DEBUG/MainProcess] beat: Synchronizing schedule...
,不会再次醒来。
我用来启动芹菜工人的命令是:celery --app=superset.tasks.celery_app:app worker -E --pool=gevent -c 500 -l DEBUG
我用来启动芹菜节拍的命令是:celery --app=superset.tasks.celery_app:app beat --pidfile /tmp/celerybeat.pid --schedule /tmp/celerybeat-schedule -l DEBUG
在我的superset_config.py中,相关的代码行是:
class CeleryConfig:
broker_url = "redis://%s:%s/0" % (REDIS_HOST, REDIS_PORT)
imports = (
"superset.sql_lab",
"superset.tasks",
"superset.tasks.thumbnails",
)
result_backend = "redis://%s:%s/0" % (REDIS_HOST, REDIS_PORT)
worker_log_level = "DEBUG"
worker_prefetch_multiplier = 10
task_acks_late = True
task_annotations = {
"sql_lab.get_sql_results": {
"rate_limit": "100/s",
},
"email_reports.send": {
"rate_limit": "1/s",
"time_limit": 600,
"soft_time_limit": 600,
"ignore_result": True,
},
}
beat_schedule = {
"alerts.schedule_check": {
"task": "alerts.schedule_check",
"schedule": crontab(minute="*", hour="*"),
},
"reports.scheduler": {
"task": "reports.scheduler",
"schedule": crontab(minute="*", hour="*"),
},
"reports.prune_log": {
"task": "reports.prune_log",
"schedule": crontab(minute=0, hour=0),
},
}
CELERY_CONFIG = CeleryConfig
WEBDRIVER_BASEURL = "http://0.0.0.0:8088"
我尝试过的事情:
我知道的事情:
cron_descriptor.GetText:Failed to find locale en_US
(尽管,我觉得这是不相关的)。发布于 2022-10-21 17:09:22
原来我用的是MemoryDb,而不是Elasticache,这两件事是不可互换的。
https://stackoverflow.com/questions/74116701
复制相似问题