我们有一个用Flask编写的服务器。根据来自客户端的RESTful请求,服务器需要访问串行端口才能与远程传感器进行通信。 (FWIW,我们正在使用pySerial来访问串行端口。)
服务器如何获得对串行端口的独占访问权限,同时避免在多个事务中不必要地调用open()和close()并避免单独进程的开销?
在某些操作系统上,打开端口是一个漫长的过程,因此-至少- 我想在交易过程中保持串口开放。更好的办法是在多个事务之间保持端口开放。
我最初的想法是使用Flask的session对象存储有关串行端口的某些状态,但是该会话是按线程创建的。
我很困惑如何干净地实现它。当然,这是其他人已经解决的问题。