2016-10-22, 01:24 PM
Fox has launched a new show called "Pitch," and the first two episodes
are scheduled for 20:59 for length=1:01. This obnoxious scheduling
decision is causing an issue with npvr scheduling.
The following is a listing of how npvr schedules the shows at 8pm
and 9pm. I've listed these shows below in priority order within each
of these hours:
So what happens is that npvr successfully schedules all the shows in
the 8-9 hour. It schedules the first three shows in the 9-10 hour, but
when it gets to Pitch it fails because all the devices have been used
up for the one-minute period from 8:59-9:00pm. As a result, the
program is assigned a "conflict" status and not scheduled.
This is the case even though there are four devices available for four
channels. The problem arose because Pitch is a new program, therefore
had the lowest priority (highest priority value). I'm going to guess
that other people are having the same issue.
*** Suggestion
If I could make a suggestion for your scheduling algorithm, it would
be the following: You have a Settings|Devices dialog that allows the
user to specify the order in which devices should be allocated.
My suggestion would be have a setting that overrides the order, and causes
the scheduling algorithm to give highest priority to a device already
being used for the same channel.
In the above case, this modified algorithm would have assigned Chicago Med
to device 22, Mom to device 24, and Notorious to device 21. That would
have left device 23 free to schedule Pitch.
*** Workaround
I tried various things to trick npvr into scheduling all the 9pm
shows. The thing that finally worked is that I changed the priority
of Pitch so that it was just one greater than the priority of
Rosewood. That way, Pitch was scheduled right after Rosewood, and
they used the same device.
I don't believe that this workaround will work 100% of the time, even
though only four channels are involved with four devices. In some
cases it would be necessary to change the priorities of both Pitch and
Rosewood so that they're together at a higher priority than the other
shows. This is something I'll have to watch on a case by case basis.
One thing I might try is to enhance my priority algorithm. I
currently group programs into three groups. All the programs in Group
1 are "must record" and have the highest priority, and group 3 have
the lowest priority. I have a script that generates sql update
statements to assign priorities correctly in all three groups.
I'm thinking of enhancing this algorithm so that the programs in group
1 are sorted by channel, and therefore are assigned priorities so that
those on same channel are all grouped together (similar to
prioritizing Rosewood and Pitch together above). The combinatorics of
this are a little complicated, so I'd have to test to see if this
would work with nprv's scheduling algorithm.
*** One more request
While I'm posting a message, I'd like to make one more request.
When a series program is not scheduled because of a conflict, you can
tell because it appears in the scheduled_recording table with a
status of 3.
But when a program is "Manually scheduled" and has a conflict, then it
doesn't appear in the scheduled_recording table at all, and also
doesn't appear on NextPVR UI "Conflicts" screen, so there's no easy
way to detect that it had a conflict. So my request would be that
when a manually scheduled program is not scheduled because of a
conflict, then it appear in the scheduled_recording table with a
status of 3.
Thanks. I hope you're doing well.
are scheduled for 20:59 for length=1:01. This obnoxious scheduling
decision is causing an issue with npvr scheduling.
The following is a listing of how npvr schedules the shows at 8pm
and 9pm. I've listed these shows below in priority order within each
of these hours:
Code:
Time Channel Device Program
-------------------- ------- ------ -------------------
Thu-10/27-20:00:00+0:31: 4 24 The Big Bang Theory
Thu-10/27-20:00:00+0:59: 13 23 Rosewood
Thu-10/27-20:00:00+0:30: 7 22 Superstore
Thu-10/27-20:00:00+1:00: 5 21 Grey's Anatomy
Thu-10/27-20:30:00+0:30: 7 22 The Good Place
Thu-10/27-21:00:00+1:00: 7 24 Chicago Med
Thu-10/27-21:01:00+0:29: 4 23 Mom
Thu-10/27-21:00:00+1:00: 5 22 Notorious
Thu-10/27-20:59:00+1:01: 13 0 CONF Pitch
So what happens is that npvr successfully schedules all the shows in
the 8-9 hour. It schedules the first three shows in the 9-10 hour, but
when it gets to Pitch it fails because all the devices have been used
up for the one-minute period from 8:59-9:00pm. As a result, the
program is assigned a "conflict" status and not scheduled.
This is the case even though there are four devices available for four
channels. The problem arose because Pitch is a new program, therefore
had the lowest priority (highest priority value). I'm going to guess
that other people are having the same issue.
*** Suggestion
If I could make a suggestion for your scheduling algorithm, it would
be the following: You have a Settings|Devices dialog that allows the
user to specify the order in which devices should be allocated.
My suggestion would be have a setting that overrides the order, and causes
the scheduling algorithm to give highest priority to a device already
being used for the same channel.
In the above case, this modified algorithm would have assigned Chicago Med
to device 22, Mom to device 24, and Notorious to device 21. That would
have left device 23 free to schedule Pitch.
*** Workaround
I tried various things to trick npvr into scheduling all the 9pm
shows. The thing that finally worked is that I changed the priority
of Pitch so that it was just one greater than the priority of
Rosewood. That way, Pitch was scheduled right after Rosewood, and
they used the same device.
I don't believe that this workaround will work 100% of the time, even
though only four channels are involved with four devices. In some
cases it would be necessary to change the priorities of both Pitch and
Rosewood so that they're together at a higher priority than the other
shows. This is something I'll have to watch on a case by case basis.
One thing I might try is to enhance my priority algorithm. I
currently group programs into three groups. All the programs in Group
1 are "must record" and have the highest priority, and group 3 have
the lowest priority. I have a script that generates sql update
statements to assign priorities correctly in all three groups.
I'm thinking of enhancing this algorithm so that the programs in group
1 are sorted by channel, and therefore are assigned priorities so that
those on same channel are all grouped together (similar to
prioritizing Rosewood and Pitch together above). The combinatorics of
this are a little complicated, so I'd have to test to see if this
would work with nprv's scheduling algorithm.
*** One more request
While I'm posting a message, I'd like to make one more request.
When a series program is not scheduled because of a conflict, you can
tell because it appears in the scheduled_recording table with a
status of 3.
But when a program is "Manually scheduled" and has a conflict, then it
doesn't appear in the scheduled_recording table at all, and also
doesn't appear on NextPVR UI "Conflicts" screen, so there's no easy
way to detect that it had a conflict. So my request would be that
when a manually scheduled program is not scheduled because of a
conflict, then it appear in the scheduled_recording table with a
status of 3.
Thanks. I hope you're doing well.