client timeout

3 views
Skip to first unread message

Thorn

unread,
Nov 20, 2009, 3:30:16 AM11/20/09
to gearman
hi,all.
I install gearman 0.10 in my suse linux, use it's timeout mechanism,
I change the example reverse_client.c,add
result = (char*)gearman_client_do(&client,"wc",NULL,
(void*)argv[optind],
(size_t)strlen(argv[optind]),
&result_size,&ret);
after
while (1)
{
result= (char *)gearman_client_do(&client, "reverse", NULL,
(void *)argv[optind],
(size_t)strlen(argv
[optind]),
&result_size, &ret);
...
...
}
and then I launched wc_worker,does't launch reverse_worker, and exec ./
reverse_client -t 2000 93494,
call reverse will timeout, but call wc timeout too, i dump the net
packet, find the wc worker is finish it's job,and result packet is
send back to the client,the time interval doesn't pass 1 s. who can
tell me why?
sth about other lib: checking for libevent... yes
checking how to link with libevent... -levent
checking for event_base_new... no
checking for event_base_free... no
..................
* Building with libsqlite3 no
* Building with libdrizzle no
* Building with libmemcached no
* Building with libpq no

Eric Day

unread,
Nov 27, 2009, 1:18:59 PM11/27/09
to gea...@googlegroups.com
Hi!

On Fri, Nov 20, 2009 at 12:30:16AM -0800, Thorn wrote:
> hi,all.
> I install gearman 0.10 in my suse linux, use it's timeout mechanism,
> I change the example reverse_client.c,add
> result = (char*)gearman_client_do(&client,"wc",NULL,
> (void*)argv[optind],
> (size_t)strlen(argv[optind]),
> &result_size,&ret);
> after
> while (1)
> {
> result= (char *)gearman_client_do(&client, "reverse", NULL,
> (void *)argv[optind],
> (size_t)strlen(argv
> [optind]),
> &result_size, &ret);
> ...
> ...
> }
> and then I launched wc_worker,does't launch reverse_worker, and exec ./
> reverse_client -t 2000 93494,
> call reverse will timeout, but call wc timeout too, i dump the net
> packet, find the wc worker is finish it's job,and result packet is
> send back to the client,the time interval doesn't pass 1 s. who can
> tell me why?

I believe this is because some internal state information is not
being reset. You may want to recreate your client objects for now to
clear any of that state, I'll look cleaning this up properly in an
upcoming release.

> sth about other lib: checking for libevent... yes
> checking how to link with libevent... -levent
> checking for event_base_new... no
> checking for event_base_free... no
> ..................
> * Building with libsqlite3 no
> * Building with libdrizzle no
> * Building with libmemcached no
> * Building with libpq no

Was there a question here?

-Eric

Thorn

unread,
Nov 28, 2009, 1:37:57 AM11/28/09
to gearman
no,I just supply more infomation, thanks.
Reply all
Reply to author
Forward
0 new messages