Superset chart email schedules 和 celery beat schedule。为什么报告是用芹菜节拍时间表而不是图表电子邮件时间表发送的?

Superset chart email schedules and celery beat schedule. Why report is sent with celery beat schedule instead of chart email schedules?

我配置的电子邮件报告名为“Raw player games”,带有 crontab */20 * * * *(每隔 20 分钟我会在我的电子邮箱中收到一份报告)。看截图raw player games.

在主超集配置中配置了另一个 crontab - superset_config.py

# superset_config.py

    CELERYBEAT_SCHEDULE = {
        'email_reports.schedule_hourly': {
            'task': 'email_reports.schedule_hourly',
            'schedule': crontab(minute=1, hour='*'), # At minute 1, every hour
        },
    }

我收到 emails,但每小时只有一个。我在日志中没有看到任何错误,celery flower 中的所有作业都处于成功状态。

apache-superset==0.37.2
celery==4.4.7

为什么? 为什么 superset 每小时只给我发送一次报告?如何重新配置​​超集以正确处理我的 crontab,我错过了什么?

请注意,您的节拍时间表配置为每小时 运行。因此,在每小时的每一分钟,beat 都会将一个新作业加入队列,该作业将验证是否到了发送新报告的时间。在超集本身上配置更薄的分辨率并不重要。

但默认情况下,电子邮件报告功能具有每小时分辨率:

https://github.com/apache/incubator-superset/blob/master/superset/tasks/schedules.py#L823

可以通过配置更改此默认值: EMAIL_REPORTS_CRON_RESOLUTION