如何在网络服务器上每分钟运行一次服务

时间:2014-01-23 17:50:16

标签: linux service

我没有太多运行大型网站的经验,但我正在开发一个项目,要求服务基本上不间断运行。该服务将通过API收集信息,并且由于我收集的数据量,它必须每4小时左右运行400个请求。

在我使用cron作业运行执行必要功能的php脚本之前,我不确定这是否是处理这些请求的有效方法。

大型网站使用什么来解决这类问题?

我能想到的最好的事情是创建一个不间断运行的自定义应用程序。还有其他解决方案吗?

我将使用Linux服务器,我有哪些选项,是否需要专用服务器?

1 个答案:

答案 0 :(得分:0)

您需要使用Apache样式的Pre-Forked模型,其中您有一个管理N个工作进程的管理程序进程,并处理SIGCHLD等。子进程将连接到作业队列,并阻止等待工作给予他们。

作业队列通常类似于redis队列,您可以向其抽取作业数据。

完成的工作通常通过与jobid不同的队列反馈,然后由一个单独的任务收集并完成“一些工作”(将结果保存到某处,将结果传递到不同的队列以执行不同的工作等等。)

http://python-rq.org/docs/& http://gearman.org/作为示例框架。