0

我创建了一个小型设备,它使用小型 Raspberry Pi 单板计算机,让我可以远程分配零食给我的猫,并通过网络摄像头监控他和周围环境。\

该软件由一个 Python 模块组成,该模块托管一个网站(允许远程控制设备),一个管理硬件并运行简单状态机的“线程”,以及一个通过网络摄像头捕获图片的“线程”它运行运动检测算法以将捕获限制在猫在附近的时间。该网站拥有一个 HTML 页面,其中包含一些使用 jQuery 对服务器进行 Ajax 回调的 Javascript。

该软件一切正常,但我发现该网站有时在初始加载时返回页面非常慢。由于 GIL 和 Python 简单的 http 服务器类设计,我认为问题在于 Python 的一般单线程性质。

我有兴趣将应用程序移至 Twisted,但我不确定如何移植处理相机和硬件状态机的两个线程。两个线程都运行一个循环,有效地轮询,循环的每次迭代之间有一个小的延迟。

谢谢

4

1 回答 1

1

You can use LoopingCall (howto) to schedule a repeated function call on a certain interval. This probably replaces your polling threads entirely.

于 2013-08-28T12:21:42.880 回答