zoukankan      html  css  js  c++  java
  • gearman with postgresql as persistent Queuing

    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=5432
    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.
  • 相关阅读:
    Mysql 使用触发器,把插入的数据在插入到宁一张表里
    Mysql 查询今天的某些时间之外的数据
    PHPStorm+XDEBUG 调试Laravel
    Python 2.7 爬取51job 全国java岗位
    Tp3.1 文件上传到七牛云
    TP3.1 一对多模型关联
    Mysql 主从配置
    自动化测试Java一:Selenium入门
    Selenium基于Python 进行 web 自动化测试
    Python 创建XML
  • 原文地址:https://www.cnblogs.com/spaceship9/p/4058204.html
Copyright © 2011-2022 走看看