gevent块调用django模型在猴子补丁之后保存绿色线程的方法

时间:2013-03-08 15:56:00

标签: python django gevent greenlets

我想在猴子修补socket之后在块模式下调用我的greenlet中的django模型save方法。

...
monkey.patch_socket()
...
def my_green(django_model):
    #fetch some urls in async here
    ...
    django_model.save() # i wan't it called mysql seerver in block mode, how to do this?
    ...

1 个答案:

答案 0 :(得分:1)

你可以使用补丁.save()方法。但这就像重写数据库驱动程序一样。

Monkey修补有其缺点。其中之一是它会影响其他模块。这就是为什么你不应该在可能的情况下修补补丁。

旁注:你为什么要在gevent上运行Django呢?这两个家伙不能很好地合作。更不用说你更希望操作在gevent服务器上进行非阻塞然后阻止。