学习资料:http://gearman.org/manual/
1.Gearman是跨语言的,client和worker可以用不同的语言来实现
2.client与job server之间的交互称为task,task可以是让worker执行某个job,或者询问某个job的状态
3.worker执行的任务是job
4.worker上可以有一到多个函数,worker启动后,先向Job Server注册,告诉server其自身可执行的函数。之后server会给worker一个sleep状态,并在之后需要的时候发送wakeup指令
5.worker必须符合一定的结构,首先需要创建worker对象,然后通知job server,定义执行job的函数,最后在一个循环中等待job。
6.Job Server的参数,来自这里
- -b,–backlog= 储备的监听连接数量
- -d, –daemon 后台运行
- -f, –file-descriptors= 文件描述符的数量
- -h, –help 帮助
- -j, –job-retries= 在ob server移除不可用job之前运行的次数,防止不断运行导致其他可用worker崩溃。默认没有限制 ???是指job失败后会自动重新执行吗?
- -l, -log-file= 日志文件存放位置(默认记录最简单日志)
- -L, –listen= 监听的IP,默认全部接受
- -p, –port= 指定监听端口
- -P, –pid-file= 指定进程ID写入位置
- -r, –protocol= 加载协议模块
- -q, –queue-type= 指定持久化队列
- -t, –threads= 使用的I/9线程数量。默认为0
- -u, –user= 启动后,切换到指定用户
- -v, –verbose 增加一级详细程度
- -V, –version 显示版本信息