Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: Thread::Queue and WWW::Curl

by Anonymous Monk
on Sep 24, 2012 at 14:53 UTC ( #995404=note: print w/ replies, xml ) Need Help??


in reply to Re: Thread::Queue and WWW::Curl
in thread Thread::Queue and WWW::Curl

Thanks for the speedy replies. The 2 missing subroutines are as follows:

sub deleteUser { # in: app access token, app id, FB userId to delete # deletes user using app access token # out: nothing my ($accessToken, $appId, $userId) = (shift, shift, shift); my %form = ( method => 'delete', access_token => $accessToken ); my $url = 'https://graph.facebook.com/' . $userId; my $post = hitFbNew2('post', $url , \%form); return ($post); }
and
sub hitFbNew { my ($method, $endpoint, $form) = (shift, shift, shift); my $curl = WWW::Curl::Easy->new; my $curlf = WWW::Curl::Form->new; my $response_body; for my $key (keys %{$form}){ $curlf->formadd($key, $form->{$key}); } $curl->setopt(CURLOPT_WRITEDATA, \$response_body); $curl->setopt(CURLOPT_URL, $endpoint); $curl->setopt(CURLOPT_HTTPPOST, $curlf); print "\nHitting FB using the curl libraries..."; my $response = $curl->perform; print "\nresponse was $response"; my %reply = ( content => $response_body, responseCode => $curl->getinfo(CURLINFO_HTTP_CODE) ); print "\nreply code is $reply{responseCode} and content is $reply{co +ntent}"; return (\%reply); }
I will look at WWW::Curl::Multi in the meantime.


Comment on Re^2: Thread::Queue and WWW::Curl
Select or Download Code
Re^3: Thread::Queue and WWW::Curl
by BrowserUk (Pope) on Sep 24, 2012 at 15:04 UTC

    You still haven't said what fails? Or how you know something is failing?


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    RIP Neil Armstrong

      When I run via threads, the following line does not output to my terminal:

      print "\nresponse was $response";
      , nor does the print statement after it output; furthermore I don't see the user deleted on the remote server when running via threads (however I do when running that code without threading).

        Apologies, I omitted two use statements in the above hitFbNew subroutine, amended as follows:

        sub hitFbNew { my ($method, $endpoint, $form) = (shift, shift, shift); use WWW::Curl::Easy; use WWW::Curl::Form; my $curl = WWW::Curl::Easy->new; my $curlf = WWW::Curl::Form->new; ...

        Looks like a clear-cut case of either WWW::Curl or libcurl not being thread-safe.


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

        RIP Neil Armstrong

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2014-12-19 11:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (79 votes), past polls