Python Gevent永远运行greenlet

时间:2014-08-30 21:34:31

标签: python gevent greenlets

我想编写一个程序,其中包含永久运行的多个计划间函数。我想过为此目的使用gevent。长期运行的greenlets有任何问题吗?

我正在编写这种格式的程序

from gevent.pool import Pool
from gevent import sleep    

class A(object):
    def a(self):
        while True:
            try:
                * do something *
            except:
                * log exception * 
            sleep(1)

if __name__ == "__main__":
    pool = Pool(5)
    obj = A()
    pool.spawn(obj.a)
    pool.join()

1 个答案:

答案 0 :(得分:1)

除了在此示例中未定义obj之外,它应该可以正常工作。在此示例中,您似乎不会遇到任何阻塞争用问题或GIL问题。这是我在长期运行的greenlets中遇到的唯一问题。那和内存泄漏,但这不是特定于线程的问题。