如何在linux上使用libdrizzle配置gearmand?

时间:2012-09-19 08:18:24

标签: jobs gearman libdrizzle

我一直在尝试使用齿轮手的持久作业队列。当我尝试使用libdrizzle时 -

gearmand -q libdrizzle --libdrizzle-host=127.0.0.1 --libdrizzle-user=gearman --libdrizzle-password=secret --libdrizzle-db=some_db --libdrizzle-table=gearman_queue --libdrizzle-mysql

它给我一个错误 -

gearmand: unknown option libdrizzle-host

同样奇怪的是,当我执行man gearmand时,它没有libdrizzle选项。我该怎么办?我想要mysql中的持久队列。我曾尝试使用gearman_udf_mysql,但它也没有用。我发布了这个问题。见Where does mysql save the path for gearman mysql udf files?

1 个答案:

答案 0 :(得分:0)

必须使用libdrizzle / mysql支持编译Gearman。您可以通过运行命令gearmand --help或旧版本man gearmand来检查它是否已编译。

如果libdrizzle / mysql支持可用,您将在帮助中看到Drizzle / Mysql选项。如果不存在,则需要重新编译。以下是在Ubuntu 12.04 LTS上安装Gearman 1.1.12的命令(在一个干净的Vagrant exact64盒子上测试):

vagrant@precise64:~$ sudo apt-get update
vagrant@precise64:~$ sudo apt-get install libboost-all-dev gperf libevent-dev uuid-dev libmysqld-dev
vagrant@precise64:~$ wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz
vagrant@precise64:~$ tar zxvf gearmand-1.1.12.tar.gz
vagrant@precise64:~$ cd gearmand-1.1.12/
vagrant@precise64:~/gearmand-1.1.12$ ./configure

此时,在./configure输出的末尾查找以下行,表示已安装Mysql支持:

* Building with libdrizzle   yes
* Building with libmysql     yes

然后继续安装:

vagrant@precise64:~/gearmand-1.1.12$ make
vagrant@precise64:~/gearmand-1.1.12$ sudo make install

Gearmand现在配置了libdrizzle,并将作业存储在Mysql数据库中。