php beanstalkd使用,如何用PHP设置Beanstalkd

最近我一直在研究使用Beanstalkd和

PHP.我已经学到了很多关于服务器上的设置等问题.

这是我如何看待它:

>我在Ubuntu服务器上安装Beanstalkd和任何依赖项(如libevent).然后我启动Beanstalkd守护进程(应该基本上始终运行).

>在我的网站某处(例如用户执行某些操作等),任务会被添加到Beanstalkd队列中的各种管道中.

>我有一个bash脚本(如下面的一个)作为deamon运行,基本上执行一个PHP脚本.

#!/bin/sh

php worker.php

4)工作脚本将具有这样的执行排队的任务:

while(1) {

$job = $this->pheanstalk->watch('test')->ignore('default')->reserve();

$job_encoded = json_decode($job->getData(), false);

$done_jobs[] = $job_encoded;

$this->log('job:'.print_r($job_encoded, 1));

$this->pheanstalk->delete($job);

}

现在这里是基于上述设置的问题(如果我错了就更正我):

说我有将RSS feed导入到数据库中的任务.如果10位用户一次就这样做,他们都将在“测试”管中排队.然而,他们只能一次执行一个.有10个不同的管全部同时执行会更好吗?

>如果我需要更多的管,那么这也意味着我需要10个工作脚本?一个用于每个管,所有的运行与基本相同的代码,除了在watch()函数中的字符串字面值.

>如果我将该脚本作为守护进程运行,那该如何工作?它会不断地执行worker.php脚本?那个脚本循环直到队列在理论上是空的,那么它不应该只被一次启动?守护进程如何决定执行worker.php的频率?这只是一个设置?

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值