Test Gearman/MySQL - Persistence Layer


Test Gearman/MySQL - Persistence Layer

Running Fedora, PHP/Gearman/MySQL/Drizzle.

从源代码构建了Gearman/Drizzle,并使该过程在linux/fedora盒子上运行。我创建了 mysql 测试表,可以看到 Gearman 守护进程实例可以访问/与 mysql 服务接口。我使用TCP在同一个盒子上运行Gearman和mysql进程。

当 Gearman 启动并指向 MySQL 帐户时,我可以在 Gearman 进程运行时显示的 DEBUG 信息中看到初始选择语句。

但是,我不确定我需要做什么来实际测试来自客户端的作业是否存储在 mysql 表中。

我创建了一个复制 Gearman 客户端/工人"审查"测试的测试客户端,该测试通常在工作线程正在运行时有效,并在没有工作线程的情况下运行客户端。我在 DEBUG 过程中看到客户端与 Gearman 守护程序连接,但是当我检查 mysql 表时,表中没有任何内容。

所以我的问题实际上归结为确定我需要做什么才能真正看到/确保作业/数据真正写入实际的 mysql 表。

是否有给定的标志,方法可以在某处调用以确定如果不由worker处理则数据存储在mysql表中?作业不应该存储在表中,然后在处理后将其删除吗?还是我在流程中遗漏了什么?

http://gearman.org/manual/job_server/#persistent_queues

我想你要找的是:

gearmand --queue-type=mysql --mysql-host=hostname