• gearman 简单试用


    服务启动

    使用yum 的安装包

    • 安装server
    yum install  -y gearmand
    • 启动
    systemctl restart  gearmand
     

    启动worker

    gearman -w -f  date -- date
     

    启动client 调用

    gearman -f data  -s
     

    效果

    20190118星期五 10:31:29 CST
     

    参数说明

    • client && worker
    Common options to both client and worker modes.
      -f <function> - Function name to use for jobs (can give many)
      -h <host> - Job server host
      -H - Print this help menu
      -v - Print diagnostic information to stdout(false)
      -p <port> - Job server port
      -t <timeout> - Timeout in milliseconds
      -i <pidfile> - Create a pidfile for the process
      -S - Enable SSL connections
    Client options:
      -b - Run jobs in the background(false)
      -I - Run jobs as high priority
      -L - Run jobs as low priority
      -n - Run one job per line(false)
      -N - Same as -n, but strip off the newline(false)
      -P - Prefix all output lines with functions names
      -s - Send job without reading from standard input
      -u <unique> - Unique key to use for job
    Worker options:
      -c <count> - Number of jobs for worker to run before exiting
      -n - Send data packet for each line(false)
      -N - Same as -n, but strip off the newline(false)
      -w - Run in worker mode(false)
     
     
    • server
      从参数我们也可以看出,支持多种后端的数据存储
     
    Allowed options:
    Allowed options:
    General options:
      -b [ --backlog ] arg (=32) Number of backlog connections for
                                            listen.
      -d [ --daemon ] Daemon, detach and run in the
                                            background.
      --exceptions Enable protocol exceptions by default.
      -f [ --file-descriptors ] arg Number of file descriptors to allow for
                                            the process (total connections will be
                                            slightly less). Default is max allowed
                                            for user.
      -h [ --help ] Print this help menu.
      -j [ --job-retries ] arg (=0) Number of attempts to run the job
                                            before the job server removes it. This
                                            is helpful to ensure a bad job does not
                                            crash all available workers. Default is
                                            no limit.
      --job-handle-prefix arg Prefix used to generate a job handle
                                            string. If not provided, the default
                                            "H:<host_name>" is used.
      --hashtable-buckets arg (=991) Number of buckets in the internal job
                                            hash tables. The default of 991 works
                                            well for about three million jobs in
                                            queue. If the number of jobs in the
                                            queue at any time will exceed three
                                            million, use proportionally larger
                                            values (991 * # of jobs / 3M). For
                                            example, to accomodate 2^32 jobs, use
                                            1733003. This will consume ~26MB of
                                            extra memory. Gearmand cannot support
                                            more than 2^32 jobs in queue at this
                                            time.
      --keepalive Enable keepalive on sockets.
      --keepalive-idle arg (=-1) If keepalive is enabled, set the value
                                            for TCP_KEEPIDLE for systems that
                                            support it. A value of -1 means that
                                            either the system does not support it
                                            or an error occurred when trying to
                                            retrieve the default value.
      --keepalive-interval arg (=-1) If keepalive is enabled, set the value
                                            for TCP_KEEPINTVL for systems that
                                            support it. A value of -1 means that
                                            either the system does not support it
                                            or an error occurred when trying to
                                            retrieve the default value.
      --keepalive-count arg (=-1) If keepalive is enabled, set the value
                                            for TCP_KEEPCNT for systems that
                                            support it. A value of -1 means that
                                            either the system does not support it
                                            or an error occurred when trying to
                                            retrieve the default value.
      -l [ --log-file ] arg (=/var/log/gearmand.log)
                                            Log file to write errors and
                                            information to. If the log-file
                                            parameter is specified as 'stderr',
                                            then output will go to stderr. If
                                            'none', then no logfile will be
                                            generated.
      -L [ --listen ] arg Address the server should listen on.
                                            Default is INADDR_ANY.
      -P [ --pid-file ] arg (=/var/gearmand.pid)
                                            File to write process ID out to.
      -r [ --protocol ] arg Load protocol module.
      -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 (=builtin) Persistent queue type to use.
      --config-file arg (=/etc/gearmand.conf)
                                            Can be specified with '@name', too
      --syslog Use syslog.
      --coredump Whether to create a core dump for
                                            uncaught signals.
      -t [ --threads ] arg (=4) Number of I/O threads to use, 0 means
                                            that gearmand will try to guess the
                                            maximum number it can use. Default=4.
      -u [ --user ] arg Switch to given user after startup.
      --verbose arg (=ERROR) Set verbose level (FATAL, ALERT,
                                            CRITICAL, ERROR, WARNING, NOTICE, INFO,
                                            DEBUG).
      -V [ --version ] Display the version of gearmand and
                                            exit.
      -w [ --worker-wakeup ] arg (=0) Number of workers to wakeup for each
                                            job received. The default is to wakeup
                                            all available workers.
    HTTP:
      --http-port arg (=8080) Port to listen on.
    Gear:
      -p [ --port ] arg (=4730) Port the server should listen on.
      --ssl Enable ssl connections.
      --ssl-ca-file arg CA file.
      --ssl-certificate arg SSL certificate.
      --ssl-key arg SSL key for certificate.
    builtin:
    libmemcached:
      --libmemcached-servers arg List of Memcached servers to use.
    libsqlite3:
      --libsqlite3-db arg Database file to use.
      --store-queue-on-shutdown Store queue on shutdown.
      --libsqlite3-table arg (=gearman_queue)
                                            Table to use.
    Postgres:
      --libpq-conninfo arg PostgreSQL connection information string.
      --libpq-table arg (=queue) Table to use.
    libtokyocabinet:
      --libtokyocabinet-file arg File name of the database. [see: man tcadb,
                                  tcadbopen() for name guidelines]
      --libtokyocabinet-optimize Optimize database on open. [default=true]
    MySQL:
      --mysql-host arg (=localhost) MySQL host.
      --mysql-port arg (=3306) Port of server. (by default 3306)
      --mysql-user arg MySQL user.
      --mysql-password arg MySQL user password.
      --mysql-db arg MySQL database.
      --mysql-table arg (=gearman_queue) MySQL table name.
     
     
    • admin 参数
    Options:
      --help Options related to the program.
      -h [ --host ] arg (=localhost) Connect to the host
      -p [ --port ] arg (=4730) Port number or service to use for connection
      --server-version Fetch the version number for the server.
      --server-verbose Fetch the verbose setting for the server.
      --create-function arg Create the function from the server.
      --cancel-job arg Remove a given job from the server's queue
      --drop-function arg Drop the function from the server.
      --show-unique-jobs Show unique jobs on server.
      --show-jobs Show all jobs on the server.
      --getpid Get Process ID for the server.
      --status Status for the server.
      --workers Workers for the server.
      --shutdown Shutdown server.
      -S [ --ssl ] Enable SSL connections.

    参考资料

    http://gearman.org/getting-started/

  • 相关阅读:
    [已解决] Python logging 重复打印日志信息
    scrapy
    Python 元编程
    MySQL性能优化 分区
    SQL Mode
    Golang 接口
    Python partial
    栈、队列(链表实现)
    Golang 位向量
    Java50题——学习以及思考
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10286409.html
Copyright © 2020-2023  润新知