[SCHEDULER-601]  Control and Monitor Scheduler from ACP
Type New Feature
Priority Medium
Severity Minor
Component Whole Product
Fixed In Version [3.73.7
Versions Affected [3.23.2
Severity Closed
Resolution Complete
Reported By Bob Denny
Resources Bob Denny
Start Date 1/14/2014

Description
Requested by Tom Smith of AAVSO/APASS. Not sure what this means but it's worth investigating. See this Comm Center thread. Will look for Scheduler 4.0.

Jan 2014 - ACP already has API members, hook them up to Scheduler now.

Comments
7/23/2014 11:18:13 AM   Bob Denny
Looking good, closing this as the Scheduler end appears to be working great.
7/13/2014 12:42:27 PM   Bob Denny
Most of the rest of this is going on in ACP-776
7/13/2014 10:40:05 AM   Bob Denny
REOPENED - Adding Scheduler dispatcher control to web UI finally. See ACP-776
2/20/2014 11:51:05 PM   Bob Denny
SVN Comment
Author rbdenny
Repository svn+ssh://rbdenny@a2_svn_dc3/home/rbdenny/svn/astro/scheduler
SVN Revision 362
Affected files /trunk/Scheduler/ACPSequencer.cs (Modified)
/trunk/Scheduler/AssemblyInfo.cs (Modified)
/trunk/Scheduler/ISequencer.cs (Modified)
/trunk/Scheduler/SimulatorSequencer.cs (Modified)
/trunk/SchedulerSetup/SchedulerSetup.vdproj (Modified)
Check-in comment === Version 3.6b === Fix interface to ACP.Scheduler.DispatcherEnabled (get). See Gemini ticket for details. GEM:601
2/20/2014 10:14:41 PM   Bob Denny
Test executable with serialised calls went out, failed this evening at Mark Williams. Now for exception trapping.
2/17/2014 10:59:44 PM   Bob Denny
See this Comm Center thread by Jeff Lewis, with Danny Flippo.

The call from the Scheduler MainForm timer (in a separate thread) to get Engine.Enabled results in a call from there to ACPSequencer.DispatcherEnabled, which calls ACP.Util.Scheduler.DispatcherEnabled. The runtime library is supposed to handle the cross-thread marshaling, but I suspect some problem with it. It seems to be happening right at the end of an ACP run though, so it may be some other type ot timing problem. Note that it cannot cast the UtilClass to get to the _Util interface. Also note that this is a transient error. Clicking Continue will result in the Scheduler operating normally afterward. Note also that this same call chain (from the UpdateUI thread in MainForm) is repeated once per second at all times the Scheduler runs! Maybe the Main thread and the TimerThread are both trying to get to the Sequencer at the same time? What if I serialize access to this with a lock() block?


2/14/2014 11:15:30 AM   Bob Denny
Tested, working, hooray!!!
1/15/2014 10:18:29 AM   Bob Denny
SVN Comment
Author rbdenny
Repository svn+ssh://rbdenny@a2_svn_dc3/home/rbdenny/svn/astro/scheduler
SVN Revision 345
Affected files /trunk/Scheduler/ACPSequencer.cs (Modified)
/trunk/Scheduler/Engine.cs (Modified)
/trunk/Scheduler/ISequencer.cs (Modified)
/trunk/Scheduler/SimulatorSequencer.cs (Modified)
Check-in comment Second installment. This implements the DispatcherEnabled control and monitoring from ACP. GEM:601
1/15/2014 5:07:09 AM   Bob Denny
SVN Comment
Author rbdenny
Repository svn+ssh://rbdenny@a2_svn_dc3/home/rbdenny/svn/astro/scheduler
SVN Revision 344
Affected files /trunk/Scheduler/ACPSequencer.cs (Modified)
/trunk/Scheduler/Engine.cs (Modified)
/trunk/Scheduler/ISequencer.cs (Modified)
/trunk/Scheduler/SimulatorSequencer.cs (Modified)
Check-in comment Partial commit. Logic to relay dispatcher status out to the sequencer. Still left, poll the sequencer for start/stop of dispatcher. GEM:601
1/14/2014 5:13:58 PM   Bob Denny
Better late than never! Retitled this. For Scheduler 3.6 and ACP 7.1, implementing Scheduler writing status changes to Util.Scheduler.DispatcherStatus in ACP.
6/22/2012 2:34:43 PM   Bob Denny
Done in ACP-776 with new Util.Scheduler.DispatcherStatus and Util.Scheduler.DispatcherEnabled properties.
6/22/2012 2:08:46 PM   Bob Denny
This all boils down to being able to programmatically control the dispatcher in the Scheduler. A generalized scripting interface is over the top.

How about this: The dispatcher watches the state of the new ACP.Util.SchedulerActive property I added in ACP-776 and the dispatcher's state follows this, and vice versa? In other words, if something changes the state of Util.SchedulerActive, that has the same effect as checking and unchecking the dispatcher checkbox!! A little thread in Scheduler with a 1Hz loop would watch it.
6/22/2012 8:34:52 AM   Bob Denny
http://dc3.ideascale.com/a/dtd/Web-Control-of-Scheduler/82333-15065 from Rob Hawley!
4/9/2012 9:33:39 AM   Bob Denny
See this Comm Center post from Mark Foster. He also wants to control the dispatcher and get its state. This would be the same info that would appear in System Status, so.. See the linked issues.
1/31/2012 4:02:40 PM   Bob Denny
Look at SCHEDULER-773. The idea is to add enough of the LocalServer pattern to allow the Scheduler engine to expose a COM interface!