Pyodbc - Web.py阻止连接

时间:2016-01-30 19:34:20

标签: pyodbc web.py

我目前正在使用Web.py中的PYODBC连接到SQL Azure数据库,到目前为止一切都很顺利。我们最近在我们的Web.py URL列表中添加了一个新调用,该调用使得游标调用如下

class get_teas:
        def GET(self):

            con = pyodbc.connect(con_string,timeout=120)
            con.timeout = 120
            cur =  con.cursor()

            for row in cur.execute("{CALL get_all_tea_in_china ("+user_data.theother+",'"+user_data.this+"','"+user_data.that+"')}"):

                   ...do some dictionary stuff

            cur.commit();
            cur.close()
            return 'DONE'

但是我们最近注意到由于get_all_tea_in_china是一个长时间的通话,它阻止了web.py中的所有后续调用,这对于希望明显的原因来说并不是很好!有没有办法让这个电话没有阻止?

如果有人可以提供帮助,我会非常感激。

1 个答案:

答案 0 :(得分:0)

您可以使用celery,将长时间的通话置于异步任务队列中。http://www.celeryproject.org/