Looks like our libcurl is too old (3.x). I started looking into LWP::UserAgent, but the SSL headers are not on the server, which I assume rules out just about every other https module. :( :/
So, I returned back to figuring out why shelling out is causing problems, and it looks like a large part of my problem was a sleep 300 that was supposed to be a sleep 3 for testing and the rest was my $? check, which doesn't work as expected when forking (or maybe it's tied to signal handling). The downsides of not having a second pair of eyes to spotcheck the code.
Thanks for the help though! Trying to get Net::Curl and then LWP::USerAgent working let me return back to the code with a fresh set of eyes.
EDIT: For some reason, nothing gets logged the first run through the main while(1), so the sleep makes it look like the script is hanging, so I ended up chasing the wrong issue.
| [reply] |
I wrote HTTP::Request::FromCurl, live at curl2lwp.psgi, which allows you to generate LWP::UserAgent code from Curl command lines. This could help with the transition to LWP::UserAgent.
But, as you already note, if the machine cannot install any SSL module (and you cannot build on a different but similar machine and copy the files from there), then you will not be able to make https connections from Perl at all without using an external program.
| [reply] |
just for information: LWP::Protocol::Net::Curl interfaces libcurl with LWP methods. So if one has LWP-based script, can switch transparently to libcurl with this module.
btw, your script when daemonizes switches dir to /. Are you using absolute paths for your log and data files?
It would be better if you provided a simplified example script and complete, not fragments.
| [reply] |
Yes, I was full pathing everything. I have access to a RHEL 7 server with a bunch of modules avaialble to me, so I'm using REST::Client, though I just found out it doesn't page data, so I;m back to hitting my head against a wall! :/
| [reply] |
| [reply] |