PHP与beantalkd异步处理。你会推荐吗? - php

您是否建议将beantalkd [http://kr.github.com/beanstalkd/]用于

PHP中的异步处理?

我需要使用过此库的任何人的一些反馈/意见和建议。

谢谢,

参考方案

我在生产中使用了Beanstalk,并且在测试时还通过它抛出了数百万条简单的消息-通常是成批的,但是在我离开公司之前,生产系统已经处理了超过100,000个任务。它可能仍在运行,在这种情况下,现在应该是数千万美元,或者,如果他们按照我的计划进一步扩展了它的使用范围,则可能更多。

我会推荐它,因为它有很多优点。

命名管可用于限制要交付的作业。我看了一个基于机器主机名的管,该主机名限制了工作者的运行位置-对于仅存储在特定服务器上的上传文件很有用)。
延迟可用于设置未来事件
最新版本的服务器还支持bin日志记录,从而提供持久性,尽管它从未崩溃过。

我完成的第一个任务是图像处理-在Apache / mod_php进程之外进行此工作使我可以在不影响服务器的情况下调整较大图像的大小(吹散Web服务器)。队列负载很轻,它在上传后刷新页面之前创建了缩略图。

还有许多其他潜在任务也可以异步处理。

我曾经遇到过的唯一问题是,确保工人顺利完成工作,或者确保发现任何错误,以便可以“掩埋”该工作,从而确保该工作不会重新进入队列以再次运行(并使工作人员再次崩溃)。

让工作人员也重新启动以清除内存也很有用,因为PHP不太适合长时间运行的进程。

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

更改默认的URL PHP - php

如何更改默认网址。例如www.example.com/index.php-> www.example.com现在,我要将其设置为www.example.com/test.php。我应该在php.ini中进行更改吗? 参考方案 假设您正在使用apache,则可以通过DirectoryIndex指令执行此操作。Check out the docs。

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…