gearman with postgresql as persistent Queuing
2024-10-12 17:29:41
gearman is a good thing
gearman client --------------> gearman server <------------------------gearman worker
clients are requesting to handler something,
gearman server is delivering jobs
gearman workers get some jobs and finish.
So different programming languages can work together.
Now we need to plant gearman persistent queues on postgresql.
So.
Now
Persistent Queue
- Tools: gearman, postgresql, python, django model and other 3rd party libs
bash sudo pip install gearman && sudo apt-get install gearman -y
- Database settings: [username] = gearman, [password] = 'gearman_password_123', [database] = 'chatservice', [port]=5432, [table_name] = queue123
sudo su - postgres
# Then,
psql
# Then
CREATE DATABASE gearman;
CREATE USER gearman with password gearman_password_123;
GRANT ALL PRIVILEGES ON DATABASE gearman to gearman;On a server:
There are two ways to make gearman work with Postgresql server
FIRST WAY
- Postgresql
To get Postgresql working you need to use the -q Postgeres command line option.
Below is a command line to get persistent queues working with Postgresql. This command line was run on Ubuntu 12.04 server, Postgresql version 9.1, and Gearman v 0.27.
gearmand -L 127.0.0.1 –libpq-conninfo 'hostaddr=127.0.0.1 port=5432 dbname=gearman user=gearman password=gearman_password_123' –libpq-table=gearmanqueue1 –verbose DEBUG -q Postgres
- Also note: gearmand will create the table if it does not already exist. In the case above, it will create a table named gearmanqueue1
- You can see
/var/log/gearman-job-server/gearman.log
for log if error or somehow.
SECOND WAY
- Edit the file
/etc/default/gearman_job_server
and make sure it would look like this:
export PGHOST=127.0.0.1
export PGPORT=
export PGUSER=gearman
export PGPASSWORD=gearman_password_123
export PGDATABASE=gearman
PARAMS="-q Postgres --libpq-table=gearmanqueue1 --verbose DEBUG"
- Then try to start the service
bash sudo service gearman-job-server start
, gearman will auto-matically create a table 'gearmanqueue1' there.
The second way is recommended.
最新文章
- Java中MyEclipse快捷键整理
- TOJ2647
- Swing How to make dialogues
- SharePoint 2013 手动删除爬网项目
- 五大Android布局方式浅析
- .Net字符串驻留池
- 用python3.x与mysql数据库构建简单的爬虫系统(转)
- windbg工具安装配置及dump抓取
- CUDA5.5 的环境变量设置
- MongoDB中级---->;关联多表查询
- 《程序员的自我修养》读书笔记——系统调用、API
- 如何在EXCEL中找出第一列中不包含的第二列数据
- 据说是Flord算法
- java 定时器中任务的启动、停止、再启动
- Oracle中dual表的用途介绍-转
- 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-|1-1-0.dll
- mysql的存储过程与事务入门
- J2SE 8的泛型
- eclipse安装Android插件
- 第三次c++作业