您的应用程序需要运行服务器,该服务器假定持续可用性、连接性和不受限制的处理能力。手机不提供这些。
移动电话旨在通过最大限度地减少处理和电源需求来延长电池寿命。这两点与运行服务器直接不一致。
但它需要稳定性,即没有随机崩溃或停机时间。
假设您的软件编写正确,您可能不必担心崩溃,但操作系统会不断尝试让系统进入睡眠状态。
- 运行可以执行 CGI 脚本的 Web 服务器(普通 CGI)
- 回复短信
- 处理 SQlite 数据库
- 在 Python 中这样做(由于时间限制,将其移植到 Java 是不可行的)
为什么不只使用小型虚拟服务器?您可以轻松地以每月 5 美元的价格购买服务器(例如DigitalOcean)并将Twilio用作 SMS 网关(每条 SMS 几美分)。便宜、可用、可靠和高度可用。你会得到一个预装的 Ubuntu 映像,在那里安装一些额外的包,然后你就可以使用 Python 和 SQLite。而且您完全不必担心移动/短信方面的事情(信号强度、网络可用性等)。该解决方案将满足上述所有这些点。
如果您不想在外部操作服务器(即“在云中”),那么您可以使用旧 PC 并安装 Linux。或者甚至使用插入式计算机并拥有几乎看不见的服务器。比手机更适合的硬件选择太多了。
由于各种原因,在 Android 手机上运行它可以解决现有设置的一些问题。
如何?是什么让 Android 更受欢迎?如果您指的是笔记本电脑电池问题,那么手机将遭受类似(如果不是更糟)的命运。
简而言之,这样的系统会稳定吗?假设核心程序是健全的,我可以依靠它吗?
您可能会一直在与操作系统和硬件作斗争。一台服务器想要持续运行,一部手机想要尽可能少地运行。整个硬件和软件堆栈都针对节能进行了优化。手机设计为使用间歇充电的电池运行,其热管理系统旨在尽可能不频繁地唤醒 CPU。如果您尝试将移动设备作为服务器运行,您可能会很快耗尽硬件。它们根本不是为 24/7 运行而设计的。你可以运行这样一个系统,它可能会工作一段时间,但我希望你很快就不得不更换硬件。
使用适合运行服务器任务的硬件。如今,旧电脑很容易买到,应该可以免费获得一台可以胜任这项任务的电脑。
另外,CGI 真的是必需品吗?你真的应该看看 WSGI;它的效率要高得多。CherryPi 是一个不错的 Python 服务器,Flask 也绝对值得一看。