project BLF > class BEventDaemon > API query DaemonOverview

Description

DaemonOverview


query filter (table tFilter)


tcBusinessFieldNametcDataTypetcOperator
tfcDaemon.DaemonAppserverc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonIntervali=,>=,>,<>,<=,<
tfcDaemon.DaemonKeepProcessedOKItemsl=,<>
tfcDaemon.DaemonLastEndDatet=,>=,>,<>,<=,<
tfcDaemon.DaemonLastEndTimei=,>=,>,<>,<=,<
tfcDaemon.DaemonLastStartDatet=,>=,>,<>,<=,<
tfcDaemon.DaemonLastStartTimei=,>=,>,<>,<=,<
tfcDaemon.DaemonLogFilec=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonLoginc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonLogLeveli=,>=,>,<>,<=,<
tfcDaemon.DaemonMaxNumberOfInstancesi=,>=,>,<>,<=,<
tfcDaemon.DaemonNamec=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonNrOfRequestsInLoopi=,>=,>,<>,<=,<
tfcDaemon.DaemonOsCommandc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonProcessIDsc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonRunningProcessesi=,>=,>,<>,<=,<
tfcDaemon.DaemonStartDirectoryc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonStatusc=,>=,>,<>,<=,<,begins,can-do,matches
tReportDaemon.ReportDaemonSocketPorti=,>=,>,<>,<=,<
tReportDaemon.ReportDaemonSocketServerc=,>=,>,<>,<=,<,begins,can-do,matches
tXmlDaemon.XmlDaemonActc=,>=,>,<>,<=,<,begins,can-do,matches
tXmlDaemon.XmlDaemonActOverruleOrigl=,<>
tXmlDaemon.XmlDaemonActOverruleXmll=,<>
tXmlDaemon.XmlDaemonDirectoryc=,>=,>,<>,<=,<,begins,can-do,matches


query condition


  each fcDaemon where

      each ReportDaemon (conditional-join) where
ReportDaemon.DaemonId = fcDaemon.DaemonId AND

      each XmlDaemon (conditional-join) where
XmlDaemon.DaemonId = fcDaemon.DaemonId AND


query resultset tqDaemonOverview


field namedata typedb fielddescription
tcDaemonAppservercharacterfcDaemon.DaemonAppserverprogress appserver URL
When empty, the daemon process will run locally
tiDaemonIntervalintegerfcDaemon.DaemonIntervalamount of seconds to wait before looking for new tasks
tlDaemonKeepProcessedOKItemslogicalfcDaemon.DaemonKeepProcessedOKItemsWhen set to true, records in the fcdaemonqueue table will not be deleted.
When set to false, records with status 'PROCESSED-OK' will be deleted.
ttDaemonLastEndDatedatefcDaemon.DaemonLastEndDateLast End Date
tiDaemonLastEndTimeintegerfcDaemon.DaemonLastEndTimeEnd Time of Last Daemon Run
tcDaemonLastEndTimeUTCcharactercalculated
ttDaemonLastStartDatedatefcDaemon.DaemonLastStartDateLast Start Date
tiDaemonLastStartTimeintegerfcDaemon.DaemonLastStartTimeStart Time of Last Daemon Run
tcDaemonLastStartTimeUTCcharactercalculated
tcDaemonLogFilecharacterfcDaemon.DaemonLogFilelog file with all error messages and other messages from the daemon process
tcDaemonLogincharacterfcDaemon.DaemonLoginlogin name to use to log in to the application
tiDaemonLogLevelintegerfcDaemon.DaemonLogLevelDaemon Log Level
tiDaemonMaxNumberOfInstancesintegerfcDaemon.DaemonMaxNumberOfInstancesnumber of processes to start when starting the daemon
tcDaemonNamecharacterfcDaemon.DaemonNameDaemon Name
tiDaemonNrOfRequestsInLoopintegerfcDaemon.DaemonNrOfRequestsInLoopthe daemon process will pause each time this number of tasks has been processed
tcDaemonOsCommandcharacterfcDaemon.DaemonOsCommandcommand line to start a daemon process
Points to the progress run-time and may contain extra startup parameters, excluding parameters that will be added by default (-ininame -param -p -b).
Tag <DaemonExecutable> will be replaced with the actual value read from server.xml.
When empty, default value is 'D_<appservername>_<daemonname>(.exe)' (the progress run-time is copied to a file with this name). This way the daemon processes can be easily recognised in the process list.
tcDaemonProcessIDscharacterfcDaemon.DaemonProcessIDsprocess ID numbers of the daemon processes
tiDaemonRunningProcessesintegerfcDaemon.DaemonRunningProcessesnumber of processes currently running this daemon
tcDaemonStartDirectorycharacterfcDaemon.DaemonStartDirectoryworking directory for the daemon processes
tcDaemonStatuscharacterfcDaemon.DaemonStatusindicates the active status of the daemon
When set to 'STOPPING' all processes running this daemon will end.

possible statuses:
INACTIVE
RUNNING
STOPPING
tiReportDaemonSocketPortintegerReportDaemon.ReportDaemonSocketPortThe port number that should be used to connect to the .net report service.
tcReportDaemonSocketServercharacterReportDaemon.ReportDaemonSocketServerThe name of the server that hosts the .Net report service.
tcXmlDaemonActcharacterXmlDaemon.XmlDaemonActDefault action to perform on the input data (not to be confused with the activity code).
possible values:
SAVE
SAVESTORE
STORE
VALIDATE
tlXmlDaemonActOverruleOriglogicalXmlDaemon.XmlDaemonActOverruleOrigWhen set to true, XmlDaemonOrig.XmlDaemonOrigAct overrules the action in the XML input data.
When set to false, XmlDaemonOrig.XmlDaemonOrigAct is ignored.
tlXmlDaemonActOverruleXmllogicalXmlDaemon.XmlDaemonActOverruleXmlWhen set to false, XmlDaemonAct overrules the action in the XML input data.
When set to true, XmlDaemonAct is ignored.
tcXmlDaemonDirectorycharacterXmlDaemon.XmlDaemonDirectoryFolder in the file system where XML files are read from. XML
fcDaemonCustomcharactercalculatedcustom fields
ReportDaemonCustomcharactercalculatedcustom fields
XmlDaemonCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(fcDaemon),rowid(ReportDaemon),rowid(XmlDaemon)


Internal usage


unused


Sample code: how to call this query through RPCRequestService (QXtend Inbound)

define temp-table ttContext no-undo
    field propertyQualifier as character
    field propertyName as character
    field propertyValue as character
    index entityContext is primary unique
        propertyQualifier
        propertyName
    index propertyQualifier
        propertyQualifier.

define dataset dsContext for ttContext.

define variable vhContextDS as handle no-undo.
define variable vhExceptionDS as handle no-undo.
define variable vhServer as handle no-undo.
define variable vhInputDS as handle no-undo.
define variable vhInputOutputDS as handle no-undo.
define variable vhOutputDS as handle no-undo.
define variable vhParameter as handle no-undo.

/* Create context */
create ttContext.
assign ttContext.propertyName = "programName"
       ttContext.propertyValue = "BEventDaemon".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "DaemonOverview".
create ttContext.
assign ttContext.propertyName = "applicationId"
       ttContext.propertyValue = "fin".
create ttContext.
assign ttContext.propertyName = "entity"
       ttContext.propertyValue = "1000".
create ttContext.
assign ttContext.propertyName = "userName"
       ttContext.propertyValue = "mfg".
create ttContext.
assign ttContext.propertyName = "password"
       ttContext.propertyValue = "".

/* Create input dataset */
create dataset vhInputDS.
vhInputDS:read-xmlschema("file", "xml/beventdaemon.daemonoverview.i.xsd", ?).
vhParameter = vhInputDS:get-buffer-handle("tParameterI").
vhParameter:buffer-create().

assign vhParameter::icRange = "A"
       vhParameter::icRowid = ""
       vhParameter::iiRownum = 0
       vhParameter::iiNumber = 5 /* Number of records to read */
       vhParameter::icSortColumns = ""
       vhParameter::ilCountOnly = false
       vhParameter::ilForwardRead = true
       vhParameter::iiMaximumBrowseRecordsToCount = 0.

vhParameter = vhInputDS:get-buffer-handle("tFilter").
vhParameter:buffer-create().

assign vhParameter::<field-name-1> = <field-value-1>
       vhParameter::<field-name-2> = <field-value-2>
       ...

/* Connect the AppServer */
create server vhServer.
vhServer:connect("-URL <appserver-url>").

if not vhServer:connected()
then do:
    message "Could not connect AppServer" view-as alert-box error title "Error".
    return.
end.

/* Run */
assign vhContextDS = dataset dsContext:handle.

run program/rpcrequestservice.p on vhServer
    (input-output dataset-handle vhContextDS by-reference,
           output dataset-handle vhExceptionDS,
     input        dataset-handle vhInputDS by-reference,
     input-output dataset-handle vhInputOutputDS by-reference,
           output dataset-handle vhOutputDS).

/* Handle output however you want, in this example, we dump it to xml */
if valid-handle(vhExceptionDS)
then vhExceptionDS:write-xml("file", "Exceptions.xml", true).

if valid-handle(vhOutputDS)
then vhOutputDS:write-xml("file", "Output.xml", true).

/* Cleanup */
vhServer:disconnect().
assign vhServer = ?.

if valid-handle(vhInputDS)
then delete object vhInputDS.

if valid-handle(vhOutputDS)
then delete object vhOutputDS.

if valid-handle(vhExceptionDS)
then delete object vhExceptionDS.