3

我正在研究 Raspberry Pi 上的 python 项目。在上一个版本之后,我们的一些设备出现了问题。项目包括两个部分,摄像头和BLE。起初,这两个部分在不同的项目中,它们运行在不同的 systemd 服务下。在最新版本中,我将这两者合并为一个项目。我正在使用多进程模块创建两个进程并在这些进程下创建线程。在以前的版本中,我只是创建线程并启动它们。但是现在,来自 BLE 部分的一些线程卡在一个点并停止工作——没有任何错误日志/消息。特别是来自 BLE 进程的 BLE 扫描线程执行此操作。这两个项目在两个 systemd 服务下运行了一个月没有问题。我无法弄清楚是什么导致了问题。

我尝试增加线程的堆栈大小,取消多进程部分并像以前的版本一样只使用线程,但它们都不是解决方案。版本之间没有大的区别,功能、模块、pip包版本都是一样的。在前面的情况下,一个服务运行 5 线程项目,另一个运行 10 线程项目。现在我有一个运行 python 程序的服务,包括 15 个线程。

平台:Raspbian Stretch -Raspbian Buster(两者)

Python 版本:3.5 (Stretch) - 3.7 (Buster) (两者)

相机部分使用的重要模块:opencv-contrib-python(3.4.3.18)、picamera(1.13)

BLE部分用到的重要模块:bluepy(1.3.0)

随时问更多问题。

4

0 回答 0