如果在循环中满足条件,如何在 while 循环中并行调用函数?
How to call a function parallelly in a while loop if a condition is met within the loop?
我正在创建一个套接字,服务器每天在其中创建一个新的日志文件。在午夜,需要对前一天的日志进行备份。日志文件很大,压缩并上传到云端可能需要一些时间。我不希望服务器等到备份完成后再继续侦听新的传入请求。我在下面的代码中根据 'if' 条件编写了伪代码,因为我不确定如何实现它。我猜我必须在这里使用 multiprocessing?
while True:
clientsocket, address = s.accept()
enter_log("SUCCESS", "Established incoming connection from {}".format(address))
if midnight:
call_another_function_parallelly_for_backup_and_let_the_loop_continue_listening
while True:
clientsocket, address = s.accept()
enter_log("SUCCESS", "Established incoming connection from {}".format(address))
if midnight:
t = threading.Thread(target=your_func, args=(your_arg,))
t.start()
t.join()
def your_func(your_arg):
try:
your logic
except Exception as e:
print(e)
这将创建新线程直到循环并且如果为真...
我正在创建一个套接字,服务器每天在其中创建一个新的日志文件。在午夜,需要对前一天的日志进行备份。日志文件很大,压缩并上传到云端可能需要一些时间。我不希望服务器等到备份完成后再继续侦听新的传入请求。我在下面的代码中根据 'if' 条件编写了伪代码,因为我不确定如何实现它。我猜我必须在这里使用 multiprocessing?
while True:
clientsocket, address = s.accept()
enter_log("SUCCESS", "Established incoming connection from {}".format(address))
if midnight:
call_another_function_parallelly_for_backup_and_let_the_loop_continue_listening
while True:
clientsocket, address = s.accept()
enter_log("SUCCESS", "Established incoming connection from {}".format(address))
if midnight:
t = threading.Thread(target=your_func, args=(your_arg,))
t.start()
t.join()
def your_func(your_arg):
try:
your logic
except Exception as e:
print(e)
这将创建新线程直到循环并且如果为真...