ubuntu 安装 gearman
?
bb2和bb1为注册的函数名,第一列为等待执行的任务数,第二列为正在执行的任务数,第三列为对应的worker 数。
?
?2. gearmand -d 这个命令默认是使用内存存储队列的,假如需要使用持久化存储,可以结合mysql来使用。
新建数据库 gearman
新建表:
CREATETABLE`gearman_queue`(`unique_key`VARCHAR(64)NOTNULL,`function_name`VARCHAR(255)NOTNULL,`priority`INT(11)NOTNULL,`data`LONGBLOBNOTNULL,`when_to_run`INT(11)NULLDEFAULTNULL,PRIMARYKEY(`unique_key`))
使用mysql作为队列存储:
/usr/local/sbin/gearmand -L 127.0.0.1 --queue-type=mysql --mysql-host=127.0.0.1 --mysql-user=root --mysql-password=123456 --mysql-db=gearman --mysql-table=gearman_queue -d
从上面的命令参数可以看出需要配置的mysql数据表信息。-d 参数为使用守护进程运行gearmand。
经测试,假如在gearmand有任务队列执行的情况下重启,队列会继续保存着,只是worker丢失了,需要重新注册一次worker;而假如worker重启,gearman会自动继续执行队列任务。
?
3.?