Sheduler problem

Asked by Bartek

Hi,

I think i've home heavy problem with sheduler (or maybe i've simple missed something)

What should happen on client side when i've client configured like that:

one default layout named A
some layout B sheduled 1.04.10 13.00-1.5.10 13.00

Am I right that client should download both xlfs and media (plus4hours rised to two weeks: $plus4hours = date("Y-m-d H:i:s",$time + 86400 * 7 * 2); ) and store them locally. Play A until 13.00 tomorrow, then switch to B for next month, and then back to A?

And there probably shoud be two records in shedule.xls on client? no only default one?

I'm asking becouse something fancy happening on most clients. There is only default record (about A playlist) in sheduler.xls and only B layout being downloaded and stored to xlf. So there is no playback at all on clients where A.xlf was not stored before, client stucked on splash. No errors in log. Looks like some server issue :/

Question information

Language:
English Edit question
Status:
Solved
For:
Xibo Edit question
Assignee:
No assignee Edit question
Solved by:
Alex Harrington
Solved:
Last query:
Last reply:
Revision history for this message
Bartek (czajka) said :
#1

sheduler.xls -> shedule.xml :)

Revision history for this message
Alex Harrington (alexharrington) said :
#2

Presumably you have interleave default turned off on the display?

What should happen is that during the scheduled periods, required files
and schedule will return just the scheduled content. If the files aren't
there to play that then it'll sit at the splash screen.

Once the schedule expires, the output of schedule and required files will
change to list the default.

You'll never see both layouts in the output at the same time unless
they're scheduled together (ie you have interleave default on or you
schedule both layouts at the same time)

Alex

Bartek <email address hidden> wrote:

New question #106127 on Xibo:
https://answers.launchpad.net/xibo/+question/106127

Hi,

I think i've home heavy problem with sheduler (or maybe i've simple missed
something)

What should happen on client side when i've client configured like that:

one default layout named A
some layout B sheduled 1.04.10 13.00-1.5.10 13.00

Am I right that client should download both xlfs and media (plus4hours
rised to two weeks: $plus4hours = date("Y-m-d H:i:s",$time + 86400 * 7 *
2); ) and store them locally. Play A until 13.00 tomorrow, then switch to
B for next month, and then back to A?

And there probably shoud be two records in shedule.xls on client? no only
default one?

I'm asking becouse something fancy happening on most clients. There is
only default record (about A playlist) in sheduler.xls and only B layout
being downloaded and stored to xlf. So there is no playback at all on
clients where A.xlf was not stored before, client stucked on splash. No
errors in log. Looks like some server issue :/

--
You received this question notification because you are a member of Xibo
Developers, which is an answer contact for Xibo.

This email carries a disclaimer, a copy of which may be read at http://learning.longhill.org.uk/disclaimer

Revision history for this message
Bartek (czajka) said :
#3

OK, but now i'm just before shudeled period (or am I not?) Sheduled period starts tommorow at 13:00.

If i would start fresh client right now, there is default layout in sheduler.xml only, and only tomorrow layout downloaded. Is it correct that client in such situation wont start playing any layout as there is no downloaded layout in xml?

I don't want client to play two layout at once (interleave disabled). Only wanted it to play default since tommorrow, and then switch do sheduled layout.

So maybe I should simulate a default playlist with some one big shedule, and then put correct ones with priority box ticked?

Revision history for this message
Alex Harrington (alexharrington) said :
#4

The client has no concept of upcoming schedule at the moment.

Basically the client can only ask the server "what should I be playing now".

So the first time the client collects from the server after your new schedule starts it'll get the updated schedule information and switch to the new layout.

The reverse happens at the end of the schedule period.

So that's why you only have one record in schedule.xml

Alex

This email carries a disclaimer, a copy of which may be read at http://learning.longhill.org.uk/disclaimer

Revision history for this message
Alex Harrington (alexharrington) said :
#5

If you start a fresh client today then you should get the files for the
default downloaded.

What you're doing is how I run one set of clients and it works for me.

Alex

Bartek <email address hidden> wrote:

Question #106127 on Xibo changed:
https://answers.launchpad.net/xibo/+question/106127

    Status: Answered => Open

Bartek is still having a problem:
OK, but now i'm just before shudeled period (or am I not?) Sheduled
period starts tommorow at 13:00.

If i would start fresh client right now, there is default layout in
sheduler.xml only, and only tomorrow layout downloaded. Is it correct
that client in such situation wont start playing any layout as there is
no downloaded layout in xml?

I don't want client to play two layout at once (interleave disabled).
Only wanted it to play default since tommorrow, and then switch do
sheduled layout.

So maybe I should simulate a default playlist with some one big shedule,
and then put correct ones with priority box ticked?

--
You received this question notification because you are a member of Xibo
Developers, which is an answer contact for Xibo.

This email carries a disclaimer, a copy of which may be read at http://learning.longhill.org.uk/disclaimer

Revision history for this message
Bartek (czajka) said :
#6

Ok, so there is real life example:

My shedule.xml content (dated 01.03.2010 - then was default modidied last):

<?xml version="1.0"?>
<schedule><layout file="69" fromdt="2050-12-31 00:00:00" todt="2050-12-31 00:00:00" scheduleid=""/></schedule>

Now, deleting all xfs from Library. Starting client for one minute:

HardwareKey: [IN]
HardwareKey: [OUT]
Info: <message>Client Started</message><method>Main</method>
HardwareKey: [IN]
HardwareKey: [OUT]
SetGlobalProxy: [IN]
SetGlobalProxy: Trying to detect a proxy.
SetGlobalProxy: No Proxy.
SetGlobalProxy: [OUT]
Info: <message>User AppData Path: C:\Documents and Settings\Default User\Application Data\Xibo\Xibo Digital Signage\2.0.0.0</message><method>MainForm_Load</method>
HardwareKey: [IN]
HardwareKey: [OUT]
Schedule - InitializeComponents: Collection Interval: 300
MainForm - ScheduleChangeEvent: Schedule Changing to C:\Documents and Settings\Default User\My Documents\Xibo Library\69.xlf
MainForm - DestoryLayout: Destroying Layout
Schedule - RequiredFilesCompleted: RequiredFilesAsync complete.
HardwareKey: [IN]
HardwareKey: [OUT]
Comparing current MD5 [340076ab0521ec2ad3ddc2165f746bca] with given MD5 [340076ab0521ec2ad3ddc2165f746bca]
[cuted]
Comparing current MD5 [ff2abf4c15b925e6ae0c1b079ea89a45] with given MD5 [ff2abf4c15b925e6ae0c1b079ea89a45]
HardwareKey: [IN]
HardwareKey: [OUT]
There are 1 files to get
Getting the file : 107 chunk : 0
Info: <message>About to Write the Cache Manager</message><method>CacheManager - WriteCacheManager</method>
Get File Completed
Info: <message>File has been written to since cache, recalculating</message><method>GetMD5</method>
Info: <message>Removing stale MD5 from the CacheManager</message><method>Remove</method>
Info: <message>Adding new MD5 to CacheManager</message><method>Add</method>
Comparing MD5 of completed download [e2d514897dcc366f32d9e5c5ca39fbb6] with given MD5 [e2d514897dcc366f32d9e5c5ca39fbb6]
Layout file changed
xmdsFile_GetFileCompleted: File downloaded: 107
Finished Recieving 1 files
File Collector Complete - getting Schedule.
Schedule Retrival Complete.
Audit: <message>IN</message><method>Flush</method>
Info: <message>About to Write the Cache Manager</message><method>CacheManager - WriteCacheManager</method>
Info: <message>Application Finished</message><method>Main</method>

107 is layout sheduled to start tommorow 13.00 (as described in first post)
69 is client's default playlist.

shedule.xml file remains umodified (probably becouse no need as unchanged), no last modified date change.

It could be something about rised p4h varable in xmds?

Revision history for this message
Bartek (czajka) said :
#7

deleting all xlfs ofcourse :)

Revision history for this message
Alex Harrington (alexharrington) said :
#8

OK I just setup a test here with a stock 1.0.6 server and it looks like you're right.

Nothing I've said is wrong as such - it's how the system is designed to work - but there does seem to be an issue with RequiredFiles not listing the files required for the default layout when there is a trailing schedule that starts within the plus4hours time.

So in your case increasing that plus4hours time will make the problem appear earlier than it would otherwise.

I'll link up a bug for it as I think it would be useful if RequiredFiles always returned the default regardless of the schedule.

The contents of your schedule.xml file is completely normal though. It won't get the layout you've scheduled for the month until the client connects to the server after that schedule has started.

Alex

Revision history for this message
Alex Harrington (alexharrington) said :
#9

Bug added. I've also put a workaround in the bug report too.

Revision history for this message
Bartek (czajka) said :
#10

So client could store only layout in shedule.xml ?

I'm always thought that such scenario is possible:

1. Designing some sheduler for client in interface
2. Client store whole shedule in xml
3. Client downloads all xlfs and media needed in xml (in p4h range)
4. Client switch layouts according to shedule stored in xml ever if there is no internet connection.

So i guess i was wrong :)

Theoretically, if i'll design a lot of small layouts and shedule them to change every minute (lets say i've 60 one-minute-layouts minute by minute in sheduler with repeat every hour ticked), such shedule won't work if client collection interval = 300?

Second, is its mean that 13.00 in sheduler = first collection interval tick after 13.00 in client (and only when connection is alive)?

And of course thanks for checking default layout bug :)

Revision history for this message
Best Alex Harrington (alexharrington) said :
#11

All absolutely correct

This email carries a disclaimer, a copy of which may be read at http://learning.longhill.org.uk/disclaimer

Revision history for this message
Bartek (czajka) said :
#12

Thanks Alex Harrington, that solved my question.