我有两个 .py 脚本。一个是无限循环(infinite.py),另一个是网站上的测试订单(order.py)。
我需要在外部为 x 执行 order.py。我需要它是非阻塞的,以便我的无限循环可以继续检查其他项目,看看我是否需要为从列表中弹出的下一个“x”运行 order.py。问题是 order.py 需要 2 分钟才能完成,我需要某种返回来执行一些逻辑,说明订单是否成功,将 x 添加回列表。我不希望“x”回到列表中,否则它将尝试对列表中的同一项目执行另一个 order.py。
我曾尝试使用 subprocess.Popen 并调用,但我似乎无法让它们工作。我可以让它在外部运行并且是非阻塞的,但我将无法从 order.py 获得我的响应,或者我让 order.py 运行但无限.py 正在等待 order.py 之前完成继续循环。我也尝试过线程
Here is the structure of my code.
list = ["item1", "item2", "item3", "item4"]
while True:
x = list.pop(0)
#Performs a simple check 1
if check is True:
#Performs check 2
if check2 is True:
# This is the section I need help with.
# I need to execute order.py and wait for a response while this
# infinite loop keeps going
if order.py is successful:
list.append(x)
else:
print("Problem with order.py")
list.append(x)
else:
list.append(x)
time.sleep(30)
pass
else:
list.append(x)
time.sleep(30)
pass