2013-10-18 41 views
1

我有一些负责管理某些活动源处理的python脚本。它的结构如下:管理线程池的pythonic方式

脚本1:管理一个“聚合”列表的活动事件,它提供了关于所有事件的一些非常细的数据。

脚本2:管理处理每个直播活动的详细Feed的线程列表。

脚本1负责定义哪些事件是活动的,并且(现在)将活动事件的所有唯一标识符写入平面文件(根本不喜欢)。脚本2读取这些唯一标识符,检查它是否已经有一个带有该ID的线程,如果没有,则启动该线程,然后处理该事件的详细数据。脚本2不定义何时该线程应该被标记为不活动或从准队列文件中删除它。线程知道什么时候应该终止自己,而脚本1监视作为主列表的订阅源,该列表定义哪些事件处于活动状态。这种方法很有效,但相当好,但对我来说感觉很笨拙。

我已经看了这个Threading pool similar to the multiprocessing Pool?和队列接近这样https://www.ibm.com/developerworks/aix/library/au-threadingpython/,但他们似乎并不适用,因为良好的现场活动线程没有指定的寿命......他们都催生和生活,直到他们的事件(以小时为单位)。

我还是新来的蟒蛇,这感觉有点超过我的头。任何类型的实施方法可能提供的清醒/愚蠢检查将不胜感激。

编辑:我没有用,因为系统管理员限制:(外部模块的位置

+0

您可以随时把副本我认为你可以在目标系统上安装*你的*项目;) –

回答

1

这听起来像你需要使用像celery.

+0

由于系统管理员的限制,我无法使用外部模块:( – Brad

+1

@Brad这完全是不真实的,除非你不能写任何文件并且不能访问shell。 – Marcin

相关问题