make python wait for stored procedure to finish executing

后端 未结 4 1432
轻奢々
轻奢々 2020-12-29 10:33

I have a python script that uses pyodbc to call an MSSQL stored procedure, like so:

cursor.execute(\"exec MyProcedure @param1 = \'\" + myparam + \"\'\")
         


        
4条回答
  •  情歌与酒
    2020-12-29 11:38

    There's no python built-in that allows you to wait for an asynchronous call to finish. However, you can achieve this behaviour using Tornado's IOLoop. Tornado's gen interface allows you to do register a function call as a Task and return to the next line in your function once the call has finished executing. Here's an example using gen and gen.Task

    from tornado import gen
    
    @gen.engine
    def func(*args, **kwargs)
        for _ in range(5):
            yield gen.Task(async_function_call, arg1, arg2)
    
        return
    

    In the example, execution of func resumes after async_function_call is finished. This way subsequent calls to asnyc_function_call won't overlap, and you wont' have to pause execution of the main process with the time.sleep call.

提交回复
热议问题