HTCondor Project List Archives



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-devel] FYI: DaemonCore now manages the CollectorList (in HEAD/6.9.x)



Anyone writing or modifying a DaemonCore daemon should know about this change i just committed to HEAD (for 6.9.3 and beyond). Here's the CVS log message:

----------------------------
Moving responsibility to maintain the CollectorList out of every
separate daemon and into DaemonCore itself.  Added DC::sendUpdates()
and ported all daemons to use this for updating collectors.  For the
few daemons that need the CollectorList for something other than
updates, there's now a DC::getCollectorList() method that returns a
pointer to the object.  This change is happening for 3 reasons:
- Now that all collector updates pass through DC, we have an
  opportunity to do interesting things with the final update
  ClassAds (e.g. this paves the way for DAEMON_SHUTDOWN expressions).
- Reduces duplicate code and shrinks the codebase.
- A step towards full DC control of updates (e.g. managing timers, etc).
[This is not user-visible at all, therefore, no version history.]
----------------------------

i already ported all existing daemons to use the new functions. however, anyone working on DaemonCore-ifying something new (e.g. NEST), should know about this. basically, you no longer have to worry about maintaining a CollectorList object in your daemon, re- creating it on a reconfig, etc, etc. if your daemon wants to send updates to the collectors, it should just directly call:

DaemonCore::sendUpdates(int cmd, ClassAd* ad1, ClassAd* ad2 = NULL, bool nonblock = false);

see the doc++ comments in condor_daemon_core.h for more info.


enjoy,
-derek