Python 进程锁定主程序
Python process locks main program
所以,我创建了一个小程序,它使用 flask 接收一些请求并通过 selenium 做一些事情。所有处理 selenium 的位都在另一个文件中,我首先尝试 运行 使用一个线程,当它不起作用时,一个进程。我认为问题是因为我使用 while true
来保持硒的工作。 selenium 部分知道该怎么做,因为它不断检查我从它们 flask 部分更新的变量...
这几乎是我的主要 class,运行 硒和它们启动烧瓶,但它永远不会启动烧瓶。它被锁定在 .start()
.
if __name__ == "__main__":
# Logging
log_format = '%(asctime)s [%(filename)s:%(lineno)d] %(message)s'
logging.basicConfig(format=log_format,
level=logging.INFO,
stream=sys.stdout)
# Start Selenium
browser = Process(target=selenium_file.run_stuff())
browser.start()
print('TEST')
# Flask
app.run(debug=True)
不太确定如何解决这个问题(如果这是个问题)...
交换 browser = Process(target=selenium_file.run_stuff())
与 browser = Process(target=selenium_file.run_stuff)
您没有传递函数 run_stuff
但您已经执行了它,因此它会阻塞您的程序直到 run_stuff
returns.
所以,我创建了一个小程序,它使用 flask 接收一些请求并通过 selenium 做一些事情。所有处理 selenium 的位都在另一个文件中,我首先尝试 运行 使用一个线程,当它不起作用时,一个进程。我认为问题是因为我使用 while true
来保持硒的工作。 selenium 部分知道该怎么做,因为它不断检查我从它们 flask 部分更新的变量...
这几乎是我的主要 class,运行 硒和它们启动烧瓶,但它永远不会启动烧瓶。它被锁定在 .start()
.
if __name__ == "__main__":
# Logging
log_format = '%(asctime)s [%(filename)s:%(lineno)d] %(message)s'
logging.basicConfig(format=log_format,
level=logging.INFO,
stream=sys.stdout)
# Start Selenium
browser = Process(target=selenium_file.run_stuff())
browser.start()
print('TEST')
# Flask
app.run(debug=True)
不太确定如何解决这个问题(如果这是个问题)...
交换 browser = Process(target=selenium_file.run_stuff())
与 browser = Process(target=selenium_file.run_stuff)
您没有传递函数 run_stuff
但您已经执行了它,因此它会阻塞您的程序直到 run_stuff
returns.