我有一个基于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