The principle of service interactions

For full operation of the system requires a number of services / software systems that support certain functionality. Below we describe what services are responsible for that.



  • DATABASE - database server, based on MySQL, PgSQL or MSSQL. The server stores data systems, applications, users, groups, and many other information. This service is critical to the operation of the system.
  • REDIS - Message Queuing server is required to send a pop-up-the PUSH notifications in your web browser and the chat. ZENLIX sends messages to REDIS.
  • NodeJS - server that is subscribed to REDIS posts and maintains the work pop-up messages in the web browser and the chat.
  • CRON - service, which launches internal scheduler ZENLIX tasks to migrate applications to the archive, the creation of planned orders, sending reminders about overdue tickets, removal of old tickets, moving tickets to the archive, etc.
  • Supervisor - service that handles all tasks / ZENLIX system messages. Responsible for sending messages (email / sms, pushbullet) and other tasks that require run-time. Due to this service there is a processing of sending long messages in the background.


If any of these services does not work, then by appropriate functions of the system will not work. Basically check service availability can be the presence of the process:

$ ps ax | grep 

To support NodeJS service, the auxiliary service PM2. The availability of the active nodejs, can be seen with the command:

$ pm2 status