Perl-Sensitive Sunglasses | |
PerlMonks |
pp: modules disappearing while program runs?by sectokia (Pilgrim) |
on Apr 06, 2022 at 22:31 UTC ( [id://11142756]=perlquestion: print w/replies, xml ) | Need Help?? |
sectokia has asked for the wisdom of the Perl Monks concerning the following question: Hi Monks, I have a weird problem: I use pp on windows (with Strawberry perl) to make an exe for my program. This exe makes use of AnyEvent::HTTP which uses AnyEvent::Handle which uses New::SSLeay and AnyEvent::TLS. The exe is run via NonSuckingServiceManager as a background service. This program works fine most of the time. It can get HTTPS URLs using AnyEvent::HTTP and do its various things. The problem I have is that after the exe has been waiting in a long AnyEvent->timer (often around 24 hours), when the timer triggers and the program wants to do more SSL GETs again.... they all fail with the error "TLS support not available on this system". The Error comes from this code in Any::Handle.pm in the starttls():
What I don't understand is: How can the program 'work' for SSL GET, but hours later... this suddenly becomes unsupported?! Note the calls are even to the same SSL server.... The only thing I can think of is that pp unpacks to %temp% folder, so maybe windows is deleting temp files after some time, and so the 'require' in the eval starts to fail? Does anyone know anything about this and how to avoid it? I sort of feel like one way around is for my program to kill itself every hour or so and let NSSM restart it (so pp unpacks again?), but I'm really clutching at straws here to identify the real issue. Maybe another way to fix this is to 'use' the require modules in my own program so they are always in scope? Any ideas? Thanks!
Back to
Seekers of Perl Wisdom
|
|