eventloop

March 26, 2020 Contributors

Name

eventloop — define a pool of event loops to enable multiple event loop configuration

Description

Note

To use this option, you must have a Supercharger license. This license specifies a maximum number of event loops. When configuring an event loop, the concurrency option in the eventloop scope cannot exceed the licensed number of event loops.

This scope defines a pool of event loops to create a multiple event loop configuration. This eventloop is then associated with specific tasks, such as SMTP reception. In general, we recommend defining only one eventloop pool.

The following is an example configuration clause:

EventLoop "event_loops" {
  concurrency = 6
}

For an example multiple event loop configuration, see Configuring Multiple Event Loops .

The only option valid in the eventloop scope is concurrency. Set the concurrency option to a value equal to approximately 75% of the total number of CPUs in the system. If the value of the concurrency option exceeds the licensed number of event loops you will see an error message in the log file such as the following:

[Wed 19 Jun 2013 11:02:47] <0x29b7510> Event loop license violation
[Wed 19 Jun 2013 11:02:47] <0x29b7510> Invalid license [Event Loop
Concurrency]
[Wed 19 Jun 2013 11:02:47] <0x29b7510> License machine mismatch

Note

You cannot define an eventloop or change its concurrency at runtime as these changes require you to restart the ecelerity process. To restart, use the executable command ec_ctl; issuing the ec_console command config reload will not work.

Scope

eventloop is valid in the global scope.

See Also

delivery_pool, maintainer_pool, and event_loop