> -----Messaggio originale-----
> Da: Mark Martinec [mailto:[EMAIL PROTECTED]
> 
> Giampaolo,
> 
> 
> Not really (at least not in the current trunk I'm looking at).
> As long as there are any (non timed-out) requests in %$pending,
> it does not terminate, even if poll returns empty-handed.

Well, I have 3.2.1 and the excerpt from AsyncLoop.pm was from there.

But anyway, how is supposed to be set the timeout value of a non-DNS query?
Maybe my code stops due to a timeout: messages are non that clear...

   dbg: uri_whois: Resolved 61994/whois.verisign-grs.com/A/IN to 199.7.51.74
   dbg: uri_whois: Starting whois query for yahoo.com to
whois.verisign-grs.com (199.7.51.74)
   dbg: async: queries completed: 1 started: 1
   dbg: async: queries active: DNSBL-A=2 URIWHOIS-A=1 at Wed Sep 19 18:02:13
2007
   dbg: async: select found no socks ready
   dbg: uri_whois: Connected whois query for yahoo.com to
whois.verisign-grs.com
   dbg: async: queries completed: 0 started: 0
   dbg: async: queries active: DNSBL-A=2 URIWHOIS-A=1 URIWHOIS-WHOIS=1 at
Wed Sep 19 18:02:14 2007
   dbg: dns: success for 23 of 27 queries
 | dbg: dns: timeout for after 1 seconds
 | dbg: dns: timeout for whois after 1 seconds
 | dbg: dns: timeout for after 1 seconds
 | dbg: dns: timeout for whois,whois-lastexternal after 1 seconds

It may even be a timeout, then. It seems to me there is no way to set a
lookup timeout in start_lookup() in AsyncLoop.pm. Right?

By the way, it may be that the Async code is undergoing many changes. Is
there any SA version in which it could be regarded as stable?

Thanks,

Giampaolo

> And 'a request' is a rather general term. Currently it covers
> DNS requests, but in principle could be other kind of 'requests'.
> There are routines for submitting and terminating requests.
> 
> I'd be interested too if more general usage emerges, perhaps
> along with a somewhat cleaned/generalized API.  My wish is
> to provide a mechanism for Plugins (such as DKIM, SPF, Razor2)
> to use the same async services and avoid doing their network
> lookups synchronously on their own. Suggestions welcome.
> If only Perl could have a way of expressing co-routines,
> then one could build a simple task scheduler, with task queues
> on blocked resources, etc.
> 
> > Does anybody knows which is the API to the async stuff? Maybe
> > I didn't  get it at all and I'm attempting to use it the wrong way...
> 
> Not much docs about API, but see comments on subroutines in
> AsyncLoop.pm, and their typical usage by Dns.pm.
> 
>   Mark

Reply via email to