首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php中有哪些好的分布式队列管理器?

php中有哪些好的分布式队列管理器?
EN

Stack Overflow用户
提问于 2009-03-18 18:05:54
回答 3查看 5.3K关注 0票数 10

我正在工作一个图像处理网站,而不是有冗长的作业阻碍用户浏览器,我希望所有的命令返回快速与一个作业id,并有一个后台任务来做实际工作。然后,可以使用该id来检查状态和结果(即处理后的图像的url )。我发现了很多用于ruby、java和python的分布式队列管理器,但我对这些语言的了解还不够多,无法使用它们。

我自己的测试是使用共享的mysql数据库对作业进行排队,将它们锁定到一个worker,并将它们标记为已完成(将返回数据保存在db中)。它只是一个凌乱的原型,整个过程中我都觉得自己好像在重新发明轮子(而且不是很优雅)。php中有没有什么东西(或者我可以和RESTfully对话?)我能用到的吗?

再读一遍,我发现我要找的是一个有php api的队列系统,它不需要用php编写。我只找到了与Amazon的SQS一起使用的类,但这不仅不是免费的,它有时也是相当潜在的(一分钟以上的消息显示)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-18 18:54:40

你试过ActiveMQ吗?它提到了通过Stomp协议支持PHP。有关详细信息,请访问the activemq site

我已经从你所描述的数据库方法中获得了很多经验,所以我不会太担心它。

票数 5
EN

Stack Overflow用户

发布于 2009-03-18 18:44:44

您是否拥有对服务器的完全控制权?

在这种情况下,MySQL队列可能没问题。有一个不断运行的PHP脚本(在无限的while循环中),在MySQL数据库中查询新的“任务”,并在两者之间执行睡眠(),以减少空闲时间的负载。

每项任务完成后,在数据库中对其进行标记并移动到下一项任务。

为了防止在脚本崩溃/存在(PHP内存溢出等)时整个过程停止例如,您可以将它放在inittab中(如果您使用Linux作为服务器),init将自动重新启动它。

票数 3
EN

Stack Overflow用户

发布于 2009-04-07 01:52:14

Zend_Framework有一个queue类,有一些Mysql支持的实现,SQS和其他一些后端。

就我个人而言,我最近用BeanstalkD取得了很好的结果,它也有一个PHP客户端。我只是用JSON序列化一些数据放入其中,这些数据被解码并在worker(s)上运行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/659455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档