Skip Navigation

Requirements: Multiple instances of the
Cylance Engine
on one machine

You can run multiple instances of the
Cylance Engine
on the same machine (for example, one instance runs the legacy Infinity Daemon Protocol while another instance runs the newer REST API). However, if you have not configured the instances correctly, they may conflict with each other and cause issues. Additionally, one instance may use all the CPU resources, which can starve other instances.
BlackBerry
does not recommend running multiple instances except for the dual-protocol scenario because a single instance can service a large number of simultaneous requests.
If you are running multiple instances,
BlackBerry
recommends that each instance have a separate .ini configuration file with unique settings for the following:
  • Port: The TCP port cannot be shared and each instance requires a unique port. If desired, you can specify the port on the command line instead of in the .ini configuration file.
  • Max concurrency: The number of cores available for the
    Cylance Engine
    should be divided among the instances so that the machine is not oversubscribed. Letting all instances have access to all CPU cores can result in timeouts and sluggish responses. If desired, you can specify the max concurrency on the command line instead of the .ini configuration file.
  • The file path for file logging: If the log file is not unique, it may not be possible to discern which instance logged a given message.
  • The temporary archive directory (if used): Using separate directories ensures that one instance does not accidentally try to clean up after another instance.
  • The manifest-based centroid directory (if used): The centroids stored in this directory are periodically updated. During an update, if another instance tries to access any of the files in this directory, that instance could run into errors.