Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: POE&WWW::Mechanize or POE&POE::Component::Client::HTTP

by Ultra (Hermit)
on Dec 24, 2007 at 11:58 UTC ( [id://658873]=note: print w/replies, xml ) Need Help??


in reply to POE&WWW::Mechanize or POE&POE::Component::Client::HTTP

Note that POE isn't about "threads", basically your program is a single process, and the tasks are split into atomic tasks called events which should be non-blocking.

For multiple events to coexists your POE program should use POE Wheels or Components that are not blocking (usually select based).

To run blocking pieces of code that aren't POE aware, such as WWW::Mechanize, you may spawn a POE::Wheel::Run session which is in fact another process so that the rest of you application doesn't block.

However, this wouldn't justify the use of POE because you'd either spawn a new process for each request, or use a pool of processes for each WWW::Mechanize client, each process fetching and parsing a page one at a time.

POE::Component::Client::HTTP isn't so powerfull as WWW::Mechanize, but you might use it to fetch the page contents, and then another session (separate process or not) do the processing of the page's content.

POE Cookbook - Web Client shows a simple usage of POE::Component::Client::HTTP

Dodge This!
  • Comment on Re: POE&WWW::Mechanize or POE&POE::Component::Client::HTTP

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://658873]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (8)
As of 2024-04-23 12:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found