daemon

使用 PHP 和 Phalcon 作 daemon 进程

某些情况下,我们除了提供web界面给用户,还需要运行一些后台任务。这些任务可能是由用户触发的(比如用户提交了一个请求,而这种请求很特殊,例如从github克隆一个项目并执行构建,至少需要几分钟才能执行完成,这种情况不适合阻塞的方式让浏览器等待结果返回);也可能是一些常规性的系统任务(比如将日志进行归档,转移到统一的地方进行备份)。前者一般是引入消息队列,用户的请求只是增加了一条待构建的消息到消息队列,然后有一个专门的订阅者读取消息,调度分发执行这个任务。后者最简单的方式便是crontab,但缺点是每个机器需要单独进行设置,不易维护;当然也可以通过一个统一的调度器,分发任务到多个任务节点的方式来执行。…