project BLF > class BBaseDaemon > API query SelectDaemon

Description

Select Daemon


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.DaemonPasswordc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonRunningProcessesi=,>=,>,<>,<=,<
tfcDaemon.DaemonStartDirectoryc=,>=,>,<>,<=,<,begins,can-do,matches
tfcDaemon.DaemonStatusc=,>=,>,<>,<=,<,begins,can-do,matches


query condition


  each fcDaemon where


query sort order


fcDaemon.DaemonName (ascending)


query resultset tqSelectDaemon


field namedata typedb fielddescription
tcDaemonAppservercharacterfcDaemon.DaemonAppserverprogress appserver URL
When empty, the daemon process will run locally
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.
tcDaemonLastEndTimeCalccharactercalculatedCalculated field for DaemonLastEndTime
tcDaemonLastStartTimeCalccharactercalculatedCalculated field for Daemon Last Start Time
tiDaemonMaxNumberOfInstancesintegerfcDaemon.DaemonMaxNumberOfInstancesnumber of processes to start when starting the daemon
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.
tcDaemonNamecharacterfcDaemon.DaemonNameDaemon Name
tcDaemonStatuscharacterfcDaemon.DaemonStatusindicates the active status of the daemon
When set to 'STOPPING' all processes running this daemon will end.

possible statuses:
INACTIVE
RUNNING
STOPPING
tiDaemonIntervalintegerfcDaemon.DaemonIntervalamount of seconds to wait before looking for new tasks
tcDaemonLogincharacterfcDaemon.DaemonLoginlogin name to use to log in to the application
tcDaemonPasswordcharacterfcDaemon.DaemonPassword(encoded) password to use to log in to the application
tiDaemonRunningProcessesintegerfcDaemon.DaemonRunningProcessesnumber of processes currently running this daemon
ttDaemonLastStartDatedatefcDaemon.DaemonLastStartDateLast Start Date
tiDaemonLastStartTimeintegerfcDaemon.DaemonLastStartTimeStart Time of Last Daemon Run
ttDaemonLastEndDatedatefcDaemon.DaemonLastEndDateLast End Date
tiDaemonLastEndTimeintegerfcDaemon.DaemonLastEndTimeEnd Time of Last Daemon Run
tcDaemonStartDirectorycharacterfcDaemon.DaemonStartDirectoryworking directory for the daemon processes
tcDaemonLogFilecharacterfcDaemon.DaemonLogFilelog file with all error messages and other messages from the daemon process
tiDaemonLogLevelintegerfcDaemon.DaemonLogLevelDaemon Log Level
tiDaemonIdintegerfcDaemon.DaemonIdidentifier
fcDaemonCustomcharactercalculatedcustom fields
ti_sequenceintegercalculatedprimary index
tc_rowidcharactercalculated = rowid(fcDaemon)


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 = "BBaseDaemon".
create ttContext.
assign ttContext.propertyName = "methodName"
       ttContext.propertyValue = "SelectDaemon".
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/bbasedaemon.selectdaemon.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.