Настраиваем gearman с хранением очередей в postgres

2015, 09 декабря

Настраиваем gearman с хранением очередей в postgres Для начало добавим в список источников /etc/apt/sources.list :

deb http://ppa.launchpad.net/gearman-developers/ppa/ubuntu raring main

Затем ключ репозитория:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys NUMBER

NUMBER – можно посмотреть запусти apt-get update, при попытке обновить система укажит, что данный ключ не указан и его надо будет добавить, вместо NUMBER Теперь ставим сам gearman :

sudo apt-get install gearman-job-server libgearman6 libgearman-dev gearman-tools

Далее настроим сервер, открываем /etc/default/gearman-job-server и приводим к следующему виду :

export PGHOST=localhost
export PGPORT=5432
export PGUSER=gearman
export PGPASSWORD=123456
export PGDATABASE=gearman
PARAMS= -q Postgres --libpq-table=gearmanqueue

—libpq-table – имя созданной таблице в БД postgres Теперь в БД создадим таблицу, у меня размер unique_key = 32, так как я использую библиотеку php net_gearman и там для задания unique_key это md5 названия функции и массива параметров, если используете другую библиотеку, то значение может быть иным

CREATE TABLE gearmanqueue ( unique_key VARCHAR(32),
                       function_name VARCHAR(255),
                       priority INTEGER,
                       data BYTEA,
                       when_to_run INTEGER,
                       UNIQUE (unique_key, function_name));

Теперь запускаем сервер

/etc/init.d/gearman-job-server restart

По работе с остальными БД, можно посмотреть на сайте http://gearman.info