Updated: April 7, 2022 11:06am

Prism Services

The following sections list settings for the various services used by Prism. Most of the services can be configured either by directly editing the service's .ini file or by editing the service's configuration in Tech Toolkit Service Manager. Most of the .ini files for the services are in the \ProgramData\RetailPro\Server\Conf folder. A few of the services listed here cannot be edited.

When changes to config settings take effect

Config key labels indicate which config settings require a service restart to take effect. In summary, the following protocols apply:

1.    All config settings for Prism services that do not pertain to Log settings, require a service restart to take effect, except as noted in 2.
2.    Config changes for PrismScheduling and PrismTechToolkit services, other than thread counts, timeouts, and reconnect delay,  take effect within 60 seconds of making the change.
3.    Edits to log config settings take effect immediately, without a service restart, with the exception of "Alternate Log Folder". Log folder changes require a restart of all "Retail Pro Prism" services to take effect.

Service Description
OracleServiceRProODS This service facilitates the replication of data between Prism and the RIL Oracle database. This service will establish the connection with the OracleODS12cr1TNSListener so that the Prism and Oracle databases can communicate. This service runs as a dependency of the PrismMQ service. 
Apache Every application that sends data across the Internet requires a web server to make the HTTP/S calls. To use Prism, the Apache service must be running. You can verify whether the service is running by launching Apache Monitor from the taskbar. When making configuration changes, if you need to reboot the service, be sure to stop the service, wait for it to shut down, then use the Start button to restart the service. Do not use the Restart button to restart the Apache service.
RabbitMQ The RabbitMQ service handles tasks related to RabbitMQ messaging and messagequeues
PrismBackOffice PrismBackOffice.exe facilitates operations related to inventory, adjustments, physical inventory and other back-office tasks. You can make api calls via the api/backoffice path
PrismCommonService The PrismCommon service is an 'Auxiliary' service, a service that is used by many modules/functions throughout Prism.
PrismPOSV1Service

This service handles POS-related tasks, Physical Inventory and a few other inventory-related tasks. The POSv1Service handles the RPC Methods and REST Resources that are listed in the RPSRESTSERVICEMODULE area of the Prism API Explorer. This service has settings related to thread counts and timeouts. The purpose of these entries is to control how much memory is allocated to a given RPS instance. Since we have a 32 bit architecture, each instance is limited to a max of 2 GB of memory. Transform is a very heavy resource and has a defined limit that we feel should be adequate for most circumstances. Auth threads are only applicable to the primary instance and define how many auth requests can happen simultaneously

PrismResiliencyService This service facilitates the continued operation of central credit and central gift cards when the connection to the Centrals server goes down.  The PrismResiliencyServer.exe facilitates offline processing and sending of those offline transactions to the processor when the connection is restored.
PrismLicSvr Although licensing is not yet implemented in Prism, the PrismLicSvr service must be running for Prism to run. You will receive an error message when trying to launch Prism if this service is not running.
PrismMQService

This service plays an important role in the replication of data between servers. You can configure PrismMQ with various options, including max number of senders/receivers and compression thresholds.

PrismSchedulingService The Scheduling Service facilitates the running of tasks that you have defined in Tech Toolkit, as well as Prism built-in tasks (e.g. building customer history and subsidiary modeling). At the scheduled time, the service makes the necessary API calls to run the task(s). Tsks handled by the PrismSchedulingService include:
Customer History daily process
Customer History initialization process
Markdown processing
Subsidiary Modeling
Scheduling service housekeeping task (1x per day)
PrismTechToolkitService The TechToolKit Service supports the web-based version of Prism TechToolKit.
PrismReplicationService The PrismMQService.exe works in conjuction with PrismMQConsumer.exe and PrismMQProducer.exe to replicate data between Prism servers..
PrismDRSService This service assists with the replication of data between Prism and an RIL Oracle database

RabbitMQService
Note: This service is found in C:\Program Files (x86)\erl9.3\erts-9.3\bin\erlsrv.exe
This service cannot be configured; however, you can start/stop the service as needed.

PrismBackOfficeService
PrismBackOffice.exe facilitates operations related to inventory, purchasing, transfers and other back-office tasks. You can make api calls via the api/backoffice path. The GETLIMIT section enables you to restrict the total number of records returned by a GET request for the following: in.ventorylist, transferslip, invnlot, inventory, document, adjustment and invnserial.

PrismCommonService
This service helps with tasks that are performed in multiple areas (e.g. customer lookups).
The GETLIMIT section restricts the total number of records returned by a GET request for customer and customerlist records (default = 100).

PrismPOSV1Service
This service handles POS-related tasks, Physical Inventory and a few other inventory-related tasks. The POSv1Service handles the RPC Methods and REST Resources that are listed in the RPSRESTSERVICEMODULE area of the Prism API Explorer. This service has settings related to thread counts and timeouts. The purpose of these entries is to control how much memory is allocated to a given RPS instance. Each instance is limited to a max of 2 GB of memory. Transform is a very heavy resource and has a defined limit that we feel should be adequate for most circumstances. Auth threads are only applicable to the primary instance and define how many auth requests can happen simultaneously.

PrismResiliencyService
The PrismResiliencyService enables retailers to continue to make central credit and central gift card transactions when the connection to the Centrals server goes down.  The PrismResiliencyServer.exe facilitates offline processing and sending of those offline transactions to the processor when the connection is restored.Settings for resiliency service. Note that the database type and location are taken from RPSLicensing.ini file.

Property Notes
DBRETRYSECONDS The number of seconds between checks to see if the connection to the Centrals server has been restored. Default = 10 seconds. This means that if the connection to the Centrals Server is lost, the PrismResiliencyService.exe will wait 10 seconds and then check if the Centrals server is available. If not available, the PrismResiliencyService.exe will wait another 10 seconds and then check again if the Centrals Server is available, etc.
DATABASECONNECTDELAY Number of seconds to wait before trying to connect to database (to prevent crashing Oracle during startup). Default = 30.
UDPPORTIN Keep default    8432    Incoming port number for receiving commands. Used for centrals resiliency
UDPPORTOUT Keep default    8433    Outgoing port number for sending responses to commands. Used for centrals resiliency

PrismLicenseService
Although licensing is not yet implemented in Prism, the PrismLicSvr service must be running for Prism to run. You will receive an error message when trying to launch Prism if this service is not running.

Prism Scheduling Service
This service coordinates running of the following predefined tasks: Customer History daily process, Customer History initialization process, Markdown processing, Subsidiary Modeling and Scheduling service housekeeping task (1x per day)
[SCHEDULER]

Property Possible Values Default Notes
DEFAULT_INTERVAL      
RUN TASKS ENABLED     If True, scheduled tasks are run.
If False, no scheduled tasks will be run.
MAXALLOWEDTASKS     Determines the maximum number of tasks that can be chained together to run at one time.
RPSUSERNAME Encrypted username N/a Username.
RPSPASSWORD Encrypted password N/A Password for the specified username

PrismTechToolkitService
This service monitors system settings and services. You can view or edit the settings for the TechToolkit service in the Service Manager tool of Tech Toolkit, or by editing the PrismTechToolkit.ini file (located in …\ProgramData\RetailPro\Server\Conf folder).

Setting Description
System Monitor Enabled The System Monitor, when enabled, checks available diskspace, memory, and other system attributes. Default = Disabled
HealthCheck Run Interval (seconds) The service will check Prism services' status every 60 seconds and restart any Prism-related services that have stopped or are not running.  Enter the number of seconds between each health check. Default = 60.
Service Monitor Service Exclusions If there is a Prism service you do not want the Monitor to restart, enter its exact name  (as shown in the ToolKit's Service Manager listing) in the "Service Monitor-Service Exclusions" edit box. By default, all services are monitored.
Service Monitor Restart All Services If selected, all services are restarted automatically during a full Prism restart. Default = Enabled
Service Monitor Enabled The Service Monitor, when enabled, checks Prism services' status every 60 seconds and restarts any Prism-related service that has stopped or did not start. Default = Disabled
Thread Count Number of threads used for monitoring services.
Available Diskspace Alert Percent When available disk space reaches the specified percentage, an alert is sent. Default = 10. Important: The alert is not displayed to the end user; the alert is written to TechToolkitService log file.

PrismReplicationService (PrismMQService)
The PrismMQService has key settings related to data replication. See the PrismMQService topic for details.