如何在多租户应用程序中安排后台作业

2024-06-25 06:01:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多租户的Django应用程序,允许租户计划何时应用程序应发送发票,发送提醒,生成报告等我使用芹菜运行后台工作,但可以切换到其他一些包,如果需要的话。你知道吗

有两个挑战。哪一个是设置时间表的最佳方法,另一个是如何管理时区。你知道吗

日程安排

我应该有一个数据库表来存储作业的详细信息(作业类型、运行时间、作业参数等),然后有一个后台作业来查询这个表,比如每1分钟查询一次,如果它找到了应该在过去1分钟内运行的作业,那么它会触发相应的后台作业吗?你知道吗

我觉得这样没效率?有更好的方法吗?你知道吗

目前有几百个租户,但我预计会有大约15000个租户,所以我的想法是,这个表可能会变得非常大,并减慢查询时间?你知道吗

时区

至于时区,如果一个租户注册为GMT 0,另一个注册为GMT+6,那么在安排作业时如何处理这一点,这样客户就不会在中午收到发票,而他们本来希望根据时区在午夜收到发票呢?你知道吗

我知道芹菜有timezone设置,但那是应用程序的时区,而不是每个租户的时区。你知道吗


Tags: django方法应用程序报告作业时间发票时间表