你能更精确地定义“后端”吗?通常,在web开发中,我遵循MVC的结构,其中我的“前端”、html/css/js和处理显示的代码都与我的“后端”模型(业务对象和数据持久性;即数据库)紧密耦合。在
我喜欢Django的模型/视图/模板方法:
但是,您还没有真正定义“后端”的含义,因此很难就设计模式给出建议。你说你对Python很有经验,你以前开发过数据库驱动的web应用程序吗?在
更新
根据你的评论,我帮不上什么忙,因为我没有太多的经验做这样的“后台”。然而,考虑到您是如何从web上获取资源的,您的延迟/吞吐量将相当高。因此,为了提高整体效率,您需要一个能够以相当高的并发性运行多个线程或进程的东西。我建议你看看这个帖子上的答案(并搜索类似的答案):
特别是,我发现递归web服务器的示例和下面的示例可能是解决方案的一个非常好的开端:
至于将这个想法转化为一个健壮的/连续的过程,这在很大程度上取决于你的平台和你处理错误的能力。基本上:在循环中运行它,并确保处理任何可能抛出的错误
让某种类型的进程监视您的工作进程,以便在它挂起或死亡时终止/重新启动它
确保nagios停止监视(如果你的解决方案停止工作)
保持事物“健壮”的最好方法之一是使它们尽可能简单(而不是简单化)。如果你所做的只是从web上获取信息,以某种方式进行解析,然后将这些信息存储在数据库中,那么就尽量让这个过程保持简单。不要为了使它更健壮而增加不必要的复杂性。如果你最终得到一个200行脚本,你就可以做太好了!在