首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >芹菜节拍:同步计划是我看到的最后一条调试消息。

芹菜节拍:同步计划是我看到的最后一条调试消息。
EN

Stack Overflow用户
提问于 2022-10-18 19:49:34
回答 1查看 39关注 0票数 1

我在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中,相关的代码行是:

代码语言:javascript
运行
复制
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"

我尝试过的事情:

  • 为芹菜配置postgres数据库
  • 将芹菜放入同一个容器中,作为超级容器。
  • 在超级集配置中更改db numer
  • 尝试了WEBDRIVER_BASEURL的变体(本地主机:8088,www.actual-url.com)
  • 更改ECS任务定义中的依赖项
  • 为redis重新配置安全组
  • 启动芹菜工人和敲打的各种命令
  • 确保集装箱安全组允许进入6379港口
  • 我将花设置为在ECS实例上运行;花没有显示工作人员、任务或监视器。

我知道的事情:

  • 芹菜和雷迪斯有联系。(在某种程度上,情况并非如此,这造成了非常具体的错误。)
  • 芹菜正在阅读日程表,我可以在日志中看到它显示了为beat_schedule排定的三件事。
  • 调度报告没有启动;在报告时没有日志,也没有生成报告的证据。
  • 当我访问Superset的reports页面时,我得到了一个错误cron_descriptor.GetText:Failed to find locale en_US (尽管,我觉得这是不相关的)。
EN

回答 1

Stack Overflow用户

发布于 2022-10-21 17:09:22

原来我用的是MemoryDb,而不是Elasticache,这两件事是不可互换的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74116701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档