This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cookbooks:devel:core [2020/11/26 16:28] miconda [async_workers] |
cookbooks:devel:core [2020/11/26 16:38] miconda [event_route] |
||
---|---|---|---|
Line 764: | Line 764: | ||
==== async_workers ==== | ==== async_workers ==== | ||
- | Specify how many child processes to create for asynchronous execution in the group " | + | Specify how many child processes |
Default: 0 (asynchronous framework is disabled). | Default: 0 (asynchronous framework is disabled). | ||
Line 772: | Line 772: | ||
< | < | ||
async_workers=4 | async_workers=4 | ||
+ | </ | ||
+ | |||
+ | ==== async_nonblock ==== | ||
+ | |||
+ | Set the non-block mode for the internal sockets used by default group of async workers. | ||
+ | |||
+ | Default: 0 | ||
+ | |||
+ | Example: | ||
+ | |||
+ | < | ||
+ | async_nonblock=1 | ||
+ | </ | ||
+ | |||
+ | ==== async_usleep ==== | ||
+ | |||
+ | Set the number of microseconds to sleep before trying to receive next task (can be useful when async_nonblock=1). | ||
+ | |||
+ | Default: 0 | ||
+ | |||
+ | Example: | ||
+ | |||
+ | < | ||
+ | async_usleep=100 | ||
</ | </ | ||
Line 3427: | Line 3451: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | * **event_route[core: | ||
+ | * if drop is used, then the message is not processed further with request_route or reply_route in the same process. This can be useful together with sworker module which can delegate the processing to another worker. | ||
+ | |||
+ | <code c> | ||
+ | async_workers_group=" | ||
+ | ... | ||
+ | event_route[core: | ||
+ | xinfo(" | ||
+ | if(is_method(" | ||
+ | # delegate processing of REGISTERs to a special group of workers | ||
+ | if(sworker_task(" | ||
+ | drop; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
=== Module Event Routes === | === Module Event Routes === | ||