[mythtv-users] Encoder (slave) "currently not connected" or "currently asleep"?
Mike Perkins
mikep at randomtraveller.org.uk
Thu Nov 5 10:39:23 UTC 2009
Chris Pinkham wrote:
> * On Wed Nov 04, 2009 at 11:26:48AM +0000, Mike Perkins wrote:
>> I was wondering about that. I have a workstation which I would contemplate
>> putting a back end in if I knew the MBE would understand the various states
>> it could be in.
>>
>> 1. Me working and SBE available, manually started and stopped.
>
> This is understood now, it's the old default state of connected/not-connected.
> Technically in the code, the slave's status is sStatus_Undefined (sleep status
> undefined) since it can't be put to sleep or woken up.
>
>> 2. SBE invoked by master, recording and shut down afterwards.
>
> This is the new sleeping capability, the master knows it can wakeup/shutdown
> the slave so it's status is one of:
>
> sStatus_Awake - slave is awake and available for recording
> sStatus_Asleep - slave is asleep and can be awakened for recording
> sStatus_FallingAsleep - slave was awake and was told to go to sleep
> sStatus_Waking - slave was asleep and the master ran the wakeup command
>
>> 3. Powered down by me, but available if MBE requires it (woken up by WOL
>> code).
>
> This is the new TODO item. I want to add a way, from the command line, to
> tell the master that a slave (that can be awakened) is being put to sleep.
> My current implementation idea for this is to add an option to mythbackend
> that causes mythbackend on the slave to connect to the master and tell it
> to tell the slave mythbackend to go to sleep. Something like this on the
> slave:
>
> mythbackend --gotosleep
>
> Then the master would tell the slave backend to go to sleep just like the #2
> case above. The master can never truly know if it can wakeup a slave unless
> it shutdown the slave (barring any unforseen power issues). So, the
> shutdown in #3 would have to be 'run by' the master so he knows that the
> slave can be awakened. The master can't just assume that when the slave
> disconnected that he can still wakeup that slave. What if you shutdown the
> slave for maintenance and don't want it powered on or it can't be powered
> on. The master can't assume it can be turned on for scheduling purposes, so
> it has to assume it can't.
>
>> Obviously, there could be times when I went to shut it down while it was
>> recording, where it would need to remain awake until the recording+optional
>> processing had finished, then shut itself down. Presumably this could be
>> achieved by the use of a cunning script. Thoughts?
>
> One other TODO item is to better integrate with the JobQueue, allowing
> slaves to optionally be woken up to process jobs inside their job window,
> etc.. Right now the master won't tell the slave to go to sleep if the
> slave is busy with a mythtranscode or mythcommflag job. This is checked
> via the inuseprograms table.
>
That's exactly what I had in mind, but obviously without knowing how the various
parties communicated and when I couldn't visualise the process you've outlined.
Thanks.
--
Mike Perkins
More information about the mythtv-users
mailing list