# PVR script not running reliably

Jeremy Nicoll - ml get_iplayer jn.ml.gti.91 at wingsandbeaks.org.uk
Tue Sep 2 11:49:52 PDT 2014

Philip Colmer <philip at colmer.me.uk> wrote:

>I'm using the get_iplayer--pvr.bat script on a Windows system. It seemed to
>be working fine until something happened that caused the programmes cache
>not to be updated, so the PVR stopped realising it needed to grab anything.
>
>So then I updated the script to do this:
>
>perl.exe get_iplayer.pl --refresh
>perl.exe get_iplayer.pl --pvr
>
>The script works perfectly when I run it by hand

- do you mean double-clicking the file containing the script, or do you mean
run it?

> but nothing happens when the script is run via the Windows Task Scheduler.

Just when it does it according to the schedule or also when it does it when
you tell it to run a script as a one-off?

> The task scheduler doesn't appear to be reporting any problems. The
> security log is showing that my credentials are being used to run the
> script and that I'm being "logged off" 17 seconds later so clearly the
> script isn't busy for very long :-(.

Do you have sensible defaults set in get_iplayer's options file?

I mean, is it possible that when you run the script "by hand" you're
implicitly telling it which directory to use as a basis for file paths, say,
but when the scheduled task runs that's not the case?

On your system, can you run:

perl.exe get_iplayer.pl --refresh

from a command window successfully?  Does it matter what directory is
current in the command window when you try that?   For this to work,
'perl.exe' must be installed on PATH, ie findable by the OS.  What's more,
get_iplayer.pl, since you've not included its full path on that command,
must also be findable.  I think I'd expect you to need

perl.exe "C:\your\path\to\getiplayer.pl" --refresh

or even

"C:\the\path\toperl\perl.exe" "C:\your\path\to\getiplayer.pl" --refresh

I do successfully run get_iplayer commands from a schedule, but I do it with
a front-end program that I wrote, which constructs very long command lines
with many specified parameters on them, partly to avoid this sort of
problem, and partly because I run the schedule on several machines with
machine-specific parameters.

--
Jeremy Nicoll - my opinions are my own.