【问题标题】:Setting Timezone for Celery Flower Displays Wrong Time为芹菜花设置时区显示错误的时间
【发布时间】:2021-06-25 00:55:06
【问题描述】:

我正在使用 docker 在两个单独的容器中运行芹菜工人和花。

主机的时区设置为America/Denver

celery worker 有以下时区相关的配置:

app = Celery('app', broker=RABBITMQ_BROKER_URL)
app.conf.enable_utc = False
app.conf.timezone = 'America/Denver'

我尝试通过几种不同的方式为运行 Flower 的容器设置时区,但在 Flower UI 中为任务显示的日期时间戳会延迟 12 小时。

我尝试使用以下方法设置花的时区:

将容器的TZ环境变量设置为America/Denver 使用容器运行交互式终端,然后按照Setting the timezone - Alpine Linux的指示进行操作

当我更改时区时,它会更改任务的日期时间戳,但正如我所说,它们会延迟 12 小时,我不知道为什么......

Received 和 Started 列的下图显示了凌晨 3 点 (03:00:00) 和凌晨 4 点 (04:00:00) 之间的时间,但我希望看到下午 3 点(15:00: 00)和下午 4 点(16:00:00)

提前感谢您的宝贵时间!

【问题讨论】:

    标签: python docker celery flower


    【解决方案1】:

    您需要设置您的容器时区,默认情况下它使用UTC

    ENV TZ=America/Denver
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    

    包括这是您的 Dockerfile,而不是稍后设置时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      • 2019-05-09
      • 2015-10-26
      • 1970-01-01
      • 2020-05-02
      相关资源
      最近更新 更多