|
1,安装 beanstalkd
1
| sudo apt-get install beanstalkd
|
1
2
| 启动:chunli@linux:~$ sudo /etc/init.d/beanstalkd start
关停:chunli@linux:~$ sudo /etc/init.d/beanstalkd stop
|
2,安装客户端库
一个例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| root@linux:~/beanstalk/beanstalk-client# cat example.c
#include "beanstalk.h"
#include <stdio.h>
#include <assert.h>
int main() {
BSJ *job;
int id, socket = bs_connect("127.0.0.1", 11300);
assert(socket != BS_STATUS_FAIL);
assert(bs_use(socket, "test") == BS_STATUS_OK);
assert(bs_watch(socket, "test") == BS_STATUS_OK);
assert(bs_ignore(socket, "default") == BS_STATUS_OK);
id = bs_put(socket, 0, 0, 60, "hello Linux ", 11);
assert(id > 0);
printf("put job id: %d\n", id);
assert(bs_reserve_with_timeout(socket, 2, &job) == BS_STATUS_OK);
assert(job);
printf("reserve job id: %ld size: %lu\n", job->id, job->size);
write(fileno(stderr), job->data, job->size);
write(fileno(stderr), "\r\n", 2);
printf("delete job id: %ld\n", job->id);
assert(bs_delete(socket, job->id) == BS_STATUS_OK);
bs_free_job(job);
bs_disconnect(socket);
}
root@linux:~/beanstalk/beanstalk-client#
|
编译运行,libbeanstalk.so动态库就在当前目录下,自己添一行到/etc/ld.so.conf.d/libc.conf ,更新ldconfig -v
1
2
3
4
5
6
7
8
9
10
11
| root@linux:~/beanstalk/beanstalk-client# gcc example.c -L. -lbeanstalk && ./a.out
put job id: 1
reserve job id: 1 size: 11
hello Linux
delete job id: 1
root@linux:~/beanstalk/beanstalk-client# gcc example.c -L. -lbeanstalk && ./a.out
put job id: 2
reserve job id: 2 size: 11
hello Linux
delete job id: 2
root@linux:~/beanstalk/beanstalk-client#
|
|
|