跨多种环境部署 Gearman
2010-10-09 08:13:21 来源:WEB开发网跨环境使用 Gearman
gearmand 服务器是用 C 编写的,这使得它非常容易在很多 UNIX® 和 Linux 环境之间移植,并且它基于常见的开放源码工具(比如 GNU 配置和自动构建系统),这使得它在很多环境中可用和可部署。
客户机和工人接口在大量语言(包括 Perl、PHP、Python 和 Java™ 编程语言)甚至 UNIX/Linux shell 中可用。此外,还有针对 Drizzle、MySQL 和 PostgreSQL 的 UDF,允许您利用 Gearman 在这些数据库中直接联系。
然而,您不仅仅局限于在相同工人和客户机接口之间通信。例如,您可以调用 Python 工人支持的任务,并从前面的 Perl 脚本请求信息。在清单 6 中可以看到用 Python 编写的相同单词计数脚本。
清单 6. 用 Python 编写的单词计数脚本
from gearman import GearmanWorker
def wordcount(input):
words = input.arg.split(None)
print words
return len(words)
worker = GearmanWorker(["127.0.0.1:4730"])
worker.register_function('wordcount', wordcount)
worker.work()
运行工人和客户机将得到相同的单词计数。
清单 7. 再次运行工人和客户机
$ perl client.pl
Words 9
优点是您可以从各种工具使用 Gearman 并将之集成到自己现有的应用程序中,不管使用的是何种环境。如果您的 Web 应用程序是用 PHP 编写的,但是想使用现有 WebSphere 环境中的应用程序功能,那么您可以通过 Gearman 来达此目的,方法是利用工人扩展 Java 技术,从 PHP 前端调用适当的任务。
更多精彩
赞助商链接