Python:响应浏览器,然后继续删除文件

时间:2019-02-23 10:02:32

标签: python multithreading python-multithreading

我有一个基于Web的python工具,该工具用于通过SVN签出构建软件。

结帐和测试完成后,我已经删除了记录。在删除记录时,它必须删除所有签出文件以及数据库行。但是这些签出非常大(以GB为单位),因此当我在浏览器中单击Delete时,它首先删除了DB表中的行,但是对于文件删除,则需要花费更多的时间,几乎是1到2分钟。删除数据库后,我尝试了threading调用,然后返回浏览器并继续删除文件。但这无济于事。

我尝试了以下代码:

import threading

def data_delete(inputs):

    # call function to take delete the database rows 
    deleteDataBaseRows_function(inputs)

    id1 = 1
    id2 = 2
    # call the maintainence_function here
    t = threading.Thread(target=deletefiles_function, args=[id1, id2])
    # setDaemon=False to stop the thread after complete
    t.setDaemon(False)
    # starting the thread
    t.start()

    # return response/anything-else you want to return
    return "it worked"


def deleteDataBaseRows_function(inputs):
    # deleting the database process here
    print "table rows deleted"
def deletefiles_function(id1, id2):
    print "Files are deleted"

res = profile_update("inputs")
print res

我得到以下输出:

table rows deleted
Files are deleted
response to the browser

但是我的预期行为是删除数据库行之后,用户应该继续使用浏览器工具进行其他工作(否则,他将等待直到完成整个文件删除操作),然后在后端文件中开始删除它。

table rows deleted
response to the browser
Files are deleted

0 个答案:

没有答案