Documentation: Flowy Services


Please support us to improve our service. We would like to use statistics anonymously.

We do not pass on your data! You can find more information in our privacy policy.

Decline

< Back to documentation

Flowy services

Flowy relies on two separate service respective a relational database for its metadata.

  • Admin service: provides the API endpoints used to create and edit Flowy objects as well as to access its logs. Is also used for user and permission management.
  • Processing service: executes the processes respective provide endpoints for its triggers. Manages the credentials as well as polling for interfaces.

Both services can be scaled as needed. It is highly recommended to use a software based load balancer, like i.e. AWS provides with its Application Load Balancer. SSL tunneling should be also handled by either an WAF and/or load balancer.

Please refer to Flowy Configuration for details on how the services can be configured. Details on the right way of scaling are also part of the Flowy Training courses.

For tracking purposes, we recommend the usage of Prometheusopen in new window respective Grafanaopen in new window. Their usage is described in the Troubleshooting section.

Internal jobs

Flowy uses internal jobs to handle many tasks. These jobs are executed as part of the processing service.

  • Clean captcha (admin): for the captcha functionality, an image is generated and its corresponding values are securely stored. Periodically, it is essential to clear the captcha table to maintain system efficiency and performance.
  • Clean history (admin): for each resource, a modification history (including CREATE, EDIT, DELETE actions) is maintained in the history table. Periodically, it is necessary to remove outdated history.
  • Clean Up (processing): Throughout the execution of a process, logs are gathered, including events, process executions, and step logs. This task is responsible for the removal of:
    • Events featuring statuses such as NEW, ON_HOLD, SUCCESSFUL, PROCESS_INACTIVE, and TIMEOUT.
    • Process executions associated with the aforementioned events.
    • Step logs connected to the relevant events.
  • Clean up errors (processing): As a process unfolds, logs are systematically collected, encompassing events, process executions, and step logs. The designated job will facilitate the removal of:
    • Events with a FAILED status.
    • Process executions associated with the respective events.
    • Step logs linked to the corresponding events.
  • Credentials sync (processing): this job synchronizes the connection pool for databases (MongoDB and JDBC) and email senders. It removes and closes outdated connections while initializing active credentials.
  • Cron triggers sync (processing): this task schedules active cron jobs, removes deactivated cron jobs, and reschedules jobs with updated cron expressions to reflect the new timing.
  • Fix Execution State (processing): Occasionally, events may become stuck in an in progress state, resulting in improper execution. This task rectifies the issue by setting the status to failed for events that have been in progress for an excessive duration.
  • Instance Heartbeat: this is also executed on the admin service
  • Messaging trigger (processing): This task initiates one thread (consumer) for each active trigger and opens a connection/channel. If a trigger is deactivated, the connection/channel will be closed, and the thread will be terminated.
  • Plugins sync (processing): this job is responsible for synchronizing plugins to ensure seamless integration.
  • Process events (processing): this task is designed to select events with a new status and forward them for execution.
  • Rest trigger sync (processing): this jobs ensures the synchronization of triggers by removing deactivated triggers from processing and integrating newly activated triggers.
  • Settings sync (processing): efficiently synchronizes settings when they are modified, activated, or deactivated, ensuring optimal system performance and up-to-date configurations.
  • Storage Clean Up (processing): removes expired storage entries.