【问题标题】:Test Gearman/MySQL - Persistence Layer测试 Gearman/MySQL - 持久层
【发布时间】:2012-07-01 13:47:25
【问题描述】:

运行 Fedora、PHP/Gearman/MySQL/Drizzle。

从源代码构建 Gearman/Drizzle,并让进程在 linux/fedora 机器上运行。我创建了 mysql 测试表,可以看到 Gearman Daemon 实例可以访问/与 mysql 服务交互。我使用 TCP 在同一个机器上运行 Gearman 和 mysql 进程。

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

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

我创建了一个测试客户端,它复制了 Gearman 客户端/工作人员“审查”测试,如果工作人员正在运行,它通常可以工作,并且在没有工作人员的情况下运行客户端。我在 DEBUG 进程中看到客户端与 Gearman 守护程序连接,但是当我检查 mysql 表时,表中没有任何内容。

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

是否有一个给定的标志,调用某处的方法来确定数据是否存储在 mysql 表中(如果工作人员不处理)?不应该将作业存储在表中,然后在处理后将其删除吗?还是我在流程中遗漏了什么?

【问题讨论】:

  • 我不确定流程是如何工作的,但我建议提交一份工作(没有工作人员),然后通过 gearmand 管理协议检查工作队列。如果它在队列中,它也应该在表中。

标签: php mysql gearman drizzle


【解决方案1】:

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

我猜你要找的是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-04
    • 2011-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-13
    • 2016-03-17
    • 2017-02-05
    相关资源
    最近更新 更多