Daemon Functions
Use the following activities to maintain and control daemons:
• Configure
• Clear Queue
• Monitor
• Start
• Stop
• Unconditional Stop
These activities are the same for all of the daemons, except the XML daemon, which is described on
here, and the Report daemon, which is described on
here. In addition, the Scan daemon has an extra grid, described on
here.
Both the Configure and Monitor activities check the status of the daemon and correct it before displaying. For example, if the daemon status is set to Running but no daemon process is detected on the QAD Financials appserver, the status is reset to Inactive before the Configure or Monitor screens display.
Note: You configure, clear queues, and monitor the Report daemon in the same way as for other daemons. However, the Report daemon is stopped and started from within the .Net Report Service.
Configure
The Configure activity lets you configure maintenance information for the daemon, such as the login ID and password, in addition to the log file and start directory. For security reasons, you should use a dedicated daemon user name. The user name must have access to all domains and entities have role permissions to all component activities in the database.
Note: The activities controlled by the daemon must be included in the list of activities for the role assigned to the daemon user name.
The Configure activity also lets you define the time interval before the daemon checks its queue for new requests, indicate whether to record processed items for audit purposes, and set the number of records that the daemon should process in each run.
Event Daemon, Configure (36.14.16.1.1)
Field Descriptions
Daemon Name
Displays the daemon name.
# Instances
Enter the maximum number of instances that can be started for this daemon. It is possible to enter 0, meaning that the daemon is not configured for use in the system setup.
Interval (Sec)
Specify the time interval in seconds before the daemon checks its queue for new requests.
Keep Processed Items
Select the field to record processed items for audit purposes. When you clear the field, the system deletes all successfully processed requests from the Monitor screen. See
Monitor.
Note: It is recommended to clear this field for any daemons that process a high number of requests so that you can easily see requests processed with errors.
Number Treated in One Run
Specify the number of requests that the daemon should process in a single run. Note that during a run, the daemon does not react to Stop commands. If you set this number too high, the response time to a Stop command increases accordingly.
Login ID for this Daemon
Specify the ID of a valid active user that is assigned a role that grants permission to all activities and access to all domains and entities. To ensure proper security is enforced, the daemon process accesses the database by logging in with this name.
Note: The login details you specify are used by the Report daemon to determine the From address when you e-mail a report.
Password for this Daemon
Specify the password for the user ID in the previous field.
Important: If the password of this user is changed in User Maintenance, the change is not automatically reflected here. You must ensure that the passwords are updated in both places, or the Daemon process will fail on login.
Daemon Log File
Specify the full path of the log file in which the system records the daemon’s actions.
By default, the system uses the Environment Root variable $ENVROOT to specify the location of the daemon log file. The $ENVROOT variable takes its value from the serverXML file for the application environment, and ensures that the financial database can be copied between environments without the need to reconfigure the daemons.
The log file path by default is:
$ENVROOT/logs/<daemon name>.log
You do not normally need to modify this default.
To troubleshoot daemon activity, you can modify how messages are generated to the daemon log file by setting the debug level in the daemon configuration file. Each daemon has a configuration file of the form <DaemonName>.config in the PROPATH of the Financials appserver.
Example: To increase the message detail for the History daemon, modify the debug level in HistoryDaemon.config.
Daemon Start Directory
Specify the directory on the file system where the physical daemon process is started. Progress keeps its internal and temporary files related to the daemon process in this location.
The system also uses the Environment Root variable $ENVROOT to specify the location of the daemon start directory.
The start directory path by default is:
$ENVROOT/daemons/<daemon name>/
You do not normally need to modify this default.
OS Command String
Enter the physical command used to run an instance of the daemon. A part of this command string is determined by the application itself, and is referenced by using <DaemonExecutable>, and differs between operating systems. You can add parameters to the command, but should include the <DaemonExecutable> tag to refer to the actual executable.
Appserver URL
Enter the connection URL for the application server on which this daemon is to be run. You can optionally use a different server than the main application server.
Important: It is recommended that you define a different appserver connection for the Report daemon. This ensures that the batch processing of report requests does not have an impact on overall server performance.
Start Date of Last Daemon Run
This field displays the last time the daemon started.
End Date of Last Daemon Run
This field displays the last time the daemon stopped.
Daemon Status
This field displays the daemon status. Valid values are Inactive, Running, and Stopping. The Start, Stop, and Unconditional Stop activities control the status changes.
Number of Running Processes for this Date
Displays the number of instances of the daemon that are currently running. This value is zero when the daemon is inactive.
Start
The Start activity starts the daemon. The system displays a message that indicates that the daemon has started successfully.
Stop
The Stop activity stops the daemon.
The daemon stops after it completes its current task. Depending on the type of daemon and the amount of time it takes to complete an operation, some time may pass before the daemon detects the stop request and shuts down.
The system displays a message that indicates that the daemon has stopped successfully.
Unconditional Stop
If you cannot stop the daemon using the Stop activity, the Unconditional Stop activity stops the daemon. This task should only be performed by the system administrator.
Note: The Start, Stop and Unconditional Stop activities are not available for the Report daemon, which is managed by the .Net Report Service.
Monitor
The Monitor screen lets you view the start and stop dates for the daemons and the requests that are processed, waiting, in progress, or incorrectly processed.
The screen is composed of a header area and two grids.
The header area contains fields that display the daemon name, the start and end times, and the daemon status. The header also contains four fields that let you choose the type of requests to include in the view.
The center grid of the Monitor displays:
• The start and end time of the request currently processing.
• A description of the request.
• The status of the request. The valid values are PROCESSED-OK, PROCESSED-ERR, WAITING, IN-PROCESS.
Additionally, if you set a specific start date and time for the request, the center grid also displays this data. It is only possible to set a specific request date and time for the XML daemon.
The lower grid displays the error information for each request line, if any.
The view does not store correctly processed records after the next refresh unless the Keep Processed Items field is selected in the Configure screen.
Daemon Monitor (36.14.16.1.3)
Field Descriptions
Daemon Name
Displays the daemon name.
Interval (Sec)
Displays the time interval in seconds before the daemon checks its queue for new requests. You can update this value using the Configure screen.
Include Waiting
Select the field to include waiting requests in the view.
Include Successfully Processed
Select the field to include correctly processed requests in the view.
Include in Processing
Select the field to include requests that are in progress in the view.
Include Failed
Select this field to include incorrectly processed requests in the view.
Number of Waiting Queues
Displays the number of records in the daemon queue that have the status Waiting.
Last Start Date
This field displays the last time the daemon started.
Last End Date
This field displays the last time the daemon stopped.
Daemon Status
This field displays the daemon status. The valid values are Inactive, Running, and Stopping. The Start, Stop, and Unconditional Stop activities control the status changes.
Number of Running Processes for this Daemon
This field displays the number of instances of the daemon that are currently running. This value is zero when the daemon is inactive.
Appserver URL
This field displays the URL of the appserver on which this daemon is running. The field is blank when the daemon is running on the main appserver.
Daemon Start Directory
This field displays the location of the daemon start directory, which the system retrieves from the daemon configuration.
Status Grid
Daemon Request Start Date
This field displays the date on which the daemon request was submitted.
Daemon Request Start Time
This field displays the time at which the daemon request was submitted.
Ref Description
This field displays an abbreviated description of the request type.
Daemon Request Status
This field displays the status of the request. The possible statuses are: Waiting, In Process, Processed OK, and Processed Failed.
End Date
This field displays the date on which the request was processed.
End Time
This field displays the time at which the daemon finished processing the request.
Locked Process
This field displays the ID of the process that is running the request. Some daemons can be run several times at once. Every time a daemon is started, a new physical Progress process is started.
Daemon Request Log
This field displays the full history of the daemon queue record.
Sequence
This field displays the order in which the requests should be handled.
Requested Start Date
This field displays the requested start date for the daemon request.
If no start date is requested, the request will be processed as soon as possible.
Requested Start Time
This field displays the requested start time for the daemon request.
If no requested start time or start date is specified, the daemon processes the request immediately. If no start time is specified, but the start date is, the request will be processed as early as possible on the requested date.
Error Grid
Field Value
Displays the value in the field that initiated the error.
Accompanying Error Message
Displays the message associated with the error.
Severity of the Error
Displays the severity level of the error.
Error Type
Displays E for error, I for informational, and W for warning.
Freeze/Reactivate
Stops the screen updates temporarily and reactivates them.
Clear Queue
Clears the daemon request queue, based on the request types you have selected.
Important: Only qualified and trained personnel should clear queues because this action can potentially destroy valuable information or interfere with critical application processes.
Clear Queue
Use the Clear Queue menu option to manage daemon queue requests. The records you select are immediately removed from the daemon queue.
Important: Only qualified and trained personnel should clear queues because this action can potentially destroy valuable information or interfere with critical application processes.
XML Daemon Clear Queue (36.14.16.6.2)
Field Descriptions
Remove Waiting Records
Select the field to remove records that are waiting to be processed from the daemon queue.
Remove in Process Records
Select the field to remove in-process records from the daemon queue.
Remove Successfully Processed Records
Select the field to remove successfully processed records from the daemon queue.
Remove Failed Records
Select the field to remove failed records from the daemon queue.
Report Daemon Options
The Monitor screen for the Report daemon has two additional fields:
Socket Port.
This field displays the server port on which the .Net Report Service is listening for requests.
Socket Server.
This field displays the server on which the .Net Report Service is running.
Note: These fields display values when the .Net report Service is running successfully. If the .Net Report Service is interrupted, these fields are blank. Errors in the .Net Report Service are displayed as Windows log events on the server on which the service is installed.
Configuring the Scan Daemon
The Scan Daemon Configure activity contains an additional grid for specifying the business component to be associated with a scanned document, the directory the daemon should monitor for documents, and the entity the scanned documents should be associated with.
Scan Daemon, Configure (36.14.16.4.1)
Field Descriptions
Component Code
Choose the name of the business component that the scanned document should be associated with. You can select only components that support the Save as Draft feature. Currently, this includes the following components:
• Banking Entry
• Business Relation
• Customer
• Customer Finance Charge
• Customer Invoice
• Journal Entry
• Petty Cash
• Supplier Invoice
• Supplier
Example: You specify BCInvoice, the technical name for a supplier invoice. The Scan daemon runs the Supplier Invoice Create activity when it detects a document to scan.
Documents for each scanned component must be located in a separate directory. The component description displays in the Component Label column.
Location on The File System
Enter the full path to the directory on the Financials appserver where documents to be scanned and associated with the specified component are located.
Important: Make sure the directory is on the correct server or it will not be found.
Entity Code
Specify the entity associated with the scanned documents.