如何在python中设置多个警报

时间:2014-05-05 11:01:40

标签: python django multithreading celery

我想在python中设置多个警报。建议的方法是什么?我的用例是我N个变量的阈值时间。当前时间达到阈值时,我希望所有变量都具有该阈值。

这是我的评价: -

threshold_time_list = [get list all times from the DB]    

current_time = datetime.now()

[i for i in threshold_time_list if i==current_time]

但这是非常低效的方式,因为我可能有250多个变量,如a/b/c。 而且我必须每秒检查这个条件(cronjob)。有没有更好的方法呢?

我在SO上发现,这可以使用线程完成并使线程进入threshod - current_time的睡眠状态。但并行运行250个线程也是一个问题,因为我在我的生产中遇到了一个问题,Django被绞死(不知道为什么),我需要重新启动服务器以使其再次运行。我们一直认为Django可能会脱离线程进行处理,因此制作250多个线程非常麻烦。

此外,如果有人知道,为什么Django会在现有产品中运行,这将是有益的。

这个警报问题可以在芹菜中完成吗?

1 个答案:

答案 0 :(得分:0)

使用sched模块。这使您可以创建任意数量的计划任务,然后在它们启动时运行它们,一次一个。