Main > Linux | PHP > Установка сервера очередей Gearman в Ubuntu

Установка сервера очередей Gearman в Ubuntu

10.08.2018 0 comments » Views: 1,577

Gearman

Для одного из проектов мне понадобился сервер очередей. Выбор пал на GEARMAN. О его установке сегодня и расскажу..

Устанавливаем сервер gearmand такой командой

После установки все готово к использованию, поэтому сразу его и запускаем

Теперь надо установить расширения для PHP, выполняем

В моем случае я получил такую ошибку

Решением стало подключение репозитория ondrej/pkg-gearman:

Теперь снова пробуем установить расширение

На этот раз все прошло успешно. Теперь перезапускаем apache:

Теперь можно создать php скрипт и проверить заработал ли Gearman:

В моем случае, все прошло успешно и в ответ от скрипта я получил такую строку:

Теперь нужно установить gearadmin с помощью которого удобно просматривать кол-во заданий в очереди и мониторить кол-во активных worker-ов, делается это такой командой:

Теперь можно переходить к написанию кода и использовании сервера очередей Gearman, об этом и поговорим в следующей статье..

Параметры сервера gearmand:

GEARMAND HELP

General options

-b [ --backlog ] arg (=32) Number of backlog connections for listen.
--check-args Проверить аргументы командной строки и конфигурационного файла
-d [ --daemon ] Запуск в фоновом режиме
-f [ --file-descriptors ] arg Кол-во файловых дискрипторов для процесса (кол-во соединений будет немного ниже). По-умолчанию: максимум доступный пользователю
-h [ --help ] Помощь
-j [ --job-retries ] arg (=0) Количество попыток выполнить задание перед тем как сервер удалит его. Полезно, чтобы "плохая" задача не "убила" все доступные воркеры. По-умолчанию: нет лимита.
-l [ --log-file ] arg Лог файл для записи ошибок и другой информации. Включение этой опции включает первый уровень логирования.
-L [ --listen ] arg Адрес сервера, на котором он будет работать. По-умолчанию: INADDR_ANY (все ip).
-p [ --port ] arg (=4730) Порт на котором будет работать. По-умолчанию: 4730.
-P [ --pid-file ] arg Путь к PID файлу (файлу содержащему номер процесса сервера).
-r [ --protocol ] arg Протокол сервера.
-R [ --round-robin ] Assign work in round-robin order per worker connection. The default is to assign work in the order of functions added by the worker.
-q [ --queue-type ] arg Тип очереди (например, mysql).
-t [ --threads ] arg (=4) Количество потоков ввода/вывода. По умолчанию: 4.
-u [ --user ] arg Работать от пользователя (переключится на указанного пользователя, после старта).
-v [ --verbose ] arg (=v) Увеличить уровень логирования
-V [ --version ] Показать версию
-w [ --worker-wakeup ] arg (=0) Запускаемое количество воркеров (workers to wakeup) для каждой получаемой задачи. По умолчанию: запускаются все воркеры.

HTTP:

--http-port arg (=8080) Порт на котором будет работать. По-умолчанию: 8080.

Sqlite

--libsqlite3-db arg Файл базы данных.
--libsqlite3-table arg (=gearman_queue) Таблица базы данных.

Memcached(libmemcached)

--libmemcached-servers arg Список Memcached серверов.

Drizzle/MySQL(libdrizzle)

-host arg Хост подключения.
-port arg Порт подключения. (По-умолчанию: порт Drizzle)
-uds arg Сокет подключения (в случае подключения через сокет).
-user arg Имя пользователя для подключения.
-password arg Пароль для подключения.
-db arg Имя базы данных.
-table arg Название таблицы базы данных.
-mysql arg Использовать MySQL протокол.

Postgres

--libpq-conninfo arg PostgreSQL строка подключения.
--libpq-table arg (=queue) Название таблицы базы данных.

Tokyo Cabinet

--libtokyocabinet-file arg Имя файла базы данных. [смотри правила именования тут: man tcadb, tcadbopen()]
--libtokyocabinet-optimize Оптимизировать базу во время открытия. По-умолчанию: true

Хранение очереди в MySQL

Структура базы для хранения очереди в MySQL

Пример запуска Gearman для использования очереди с MySQL, база на том же хосте

база на другом хосте

Опции gearadmin

GEARADMIN HELP

--help Помощь.
-h [ --host ] arg (=localhost)i Хост подключения, по-умолчанию: localhost
-p [ --port ] arg (=4730) Порт подключения, по-умолчанию: 4730
--create-function Создать функцию.
--drop-function Удалить функцию с сервера.
--server-version Версия сервера.
--server-verbose Уровень логирования сервера.
--status Статус сервера (кол-во заданий в очереди, кол-во выполняемых заданий, кол-во воркеров).
--workers Воркеры сервера.
--shutdown Завершить работу сервера.

На этом на сегодня - всё, до новых встреч!

Author: | Rating: 4/5 | Tags: , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>