我想要同时运行两个函数。 心跳功能,即执行简单的while循环。 然后是另一个功能,它是脚本的核心,也是一个while循环。
当心跳功能继续前进时,肉和土豆功能一次破坏,永远不会循环......
我使用asyncio和executor池来实现我同时运行两个函数(循环)的目标。
另外,如何在使用执行程序池时显示错误/异常,我无法看到任何错误....
这里是代码:
import lib.myFunctions
import asyncio
import oandapy
fmc = lib.myFunctions.FmcMixin()
def meatAndPotatoes(currency_pair=sys.argv[1],
time_compression=sys.argv[2],sleep_time=sys.argv[3]):
while True:
try:
something = oanda.get_history()
if (something):
print("niceeee")
else:
print("ok cool")
except:
sleep(sleep_time)
if __name__ == "__main__":
executor = ProcessPoolExecutor(2)
loop = asyncio.get_event_loop()
asyncio.async(loop.run_in_executor(executor, meatAndPotatoes))
scriptName = str(sys.argv[1]+"/"+sys.argv[2]+"/")
asyncio.async(loop.run_in_executor(executor, \
fmc.heartbeatFunction(scriptName)))
loop.run_forever()