project BLF > class TDaemonUtility > method GetDaemonStatus

Description

Returns theDaemon status information.
If the icDaemonName is empty, then this returns the status information of all daemons.


Parameters


icDaemonNameinputcharacter
tDaemonStatusoutputtemp-table
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method TApplication.ExecuteAction


program code (program1/tdaemonutility.p)

assign oiReturnStatus = -98.

<Q-1 run DaemonInfo (all) (Read) (NoCache)
   (input ?, (DaemonId)
    input icDaemonName, (DaemonName)
    input ?, (DaemonStatus)
    input ?, (DaemonStatusDiffersFrom)
    output dataset tqDaemonInfo) in BBaseDaemon >

for each tqDaemonInfo :
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "Daemon Name:":U
           tDaemonStatus.tcValue = tqDaemonInfo.tcDaemonName.
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Status] Status:":U
           tDaemonStatus.tcValue = tqDaemonInfo.tcDaemonStatus.
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Status] #Running instances:":U
           tDaemonStatus.tcValue = string(num-entries(tqDaemonInfo.tcDaemonProcessIDs)).
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Status] Process Ids:":U
           tDaemonStatus.tcValue = tqDaemonInfo.tcDaemonProcessIDs.
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Status] Start date/time of daemon:":U
           tDaemonStatus.tcValue = string(tqDaemonInfo.ttDaemonLastStartDate) + " / ":U +
                                   string(tqDaemonInfo.tiDaemonLastStartTime,"HH:MM:SS":U).
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Config] Log file:":U
           tDaemonStatus.tcValue = tqDaemonInfo.tcDaemonLogFile.
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Config] Startup folder:":U
           tDaemonStatus.tcValue = tqDaemonInfo.tcDaemonStartDirectory.
    create tDaemonStatus.
    assign tDaemonStatus.tcProperty = "[Config] Daemon user login:":U
           tDaemonStatus.tcValue = tqDaemonInfo.tcDaemonLogin.
           
    /* Specific per daemon */
    <M-2 run GetDaemonStatusCustom
       (input  tqDaemonInfo.tiDaemonId (iiDaemonId), 
        input  tqDaemonInfo.tcDaemonName (icDaemonName), 
        output viFcReturnSuper (oiReturnStatus)) in TDaemonUtility>
    if viFcReturnSuper <> 0
    then do:
        assign oiReturnStatus = viFcReturnSuper.
        return.
    end.
end.

if oiReturnStatus = -98
then assign oiReturnStatus = 0.