[sr-dev] git:master:3fde5ddc: modules: readme files regenerated - sworker ... [skip ci]

Kamailio Dev kamailio.dev at kamailio.org
Thu Nov 26 13:46:39 CET 2020


Module: kamailio
Branch: master
Commit: 3fde5ddcd8ae583b8d3fa6be43589bba2e07b984
URL: https://github.com/kamailio/kamailio/commit/3fde5ddcd8ae583b8d3fa6be43589bba2e07b984

Author: Kamailio Dev <kamailio.dev at kamailio.org>
Committer: Kamailio Dev <kamailio.dev at kamailio.org>
Date: 2020-11-26T13:46:28+01:00

modules: readme files regenerated - sworker ... [skip ci]

---

Modified: src/modules/sworker/README

---

Diff:  https://github.com/kamailio/kamailio/commit/3fde5ddcd8ae583b8d3fa6be43589bba2e07b984.diff
Patch: https://github.com/kamailio/kamailio/commit/3fde5ddcd8ae583b8d3fa6be43589bba2e07b984.patch

---

diff --git a/src/modules/sworker/README b/src/modules/sworker/README
index e01307b175..241b077ab6 100644
--- a/src/modules/sworker/README
+++ b/src/modules/sworker/README
@@ -10,7 +10,7 @@ Daniel-Constantin Mierla
 
    <miconda at gmail.com>
 
-   Copyright © 2020 asipto.com
+   Copyright © 2020 asipto.com
      __________________________________________________________________
 
    Table of Contents
@@ -51,10 +51,19 @@ Chapter 1. Admin Guide
 1. Overview
 
    This module can delegate processing of SIP requests to a group of
-   workers in the configuration file. The async workers have to defined
-   with the global parameter.
+   workers in the configuration file by using
+   event_route[core:pre-routing]. The async workers have to defined with
+   the global parameter. The worker process that received the message
+   internally does the usual execution of the config script, running
+   request_route or reply_route.
 
-   It does not create the transaction and nor suspend it.
+   Note: the behaviour is different than the async module, because it does
+   not create the transaction (obviously also not performing suspend).
+
+   Note: it does not propagate anything set in the event_route, therefore
+   any set flag, or avp, etc. are lost. The SIP message is processed by
+   the delegated worker as it was fresh received from the network
+   (including parsing).
 
 2. Dependencies
 
@@ -77,7 +86,7 @@ Chapter 1. Admin Guide
    3.1. sworker_active()
    3.2. swork_task(gname)
 
-3.1. sworker_active()
+3.1.  sworker_active()
 
    Return 1 (true) if the processing happens in an asyn process, or -1
    (false) if the processing is happening in a SIP receiving process.
@@ -94,24 +103,28 @@ request_route {
 }
 ...
 
-3.2. swork_task(gname)
+3.2.  swork_task(gname)
 
-   Delegate the processing of SIP message to a group of async workers.
+   Delegate the processing of SIP message to a group of async workers. The
+   function is restricted to be used inside event_route[core:pre-routing].
 
    The parameter gname provides the name of the group workers, it can
    contain pseudo-variables.
 
-   The function returns 0 (exit) in case the task is delegated.
+   The function returns 1 (true) in case the task is delegated. After
+   that, 'drop' must be used so processing of the message does not
+   continue to request_route or reply_route in the same process, it is
+   going to be done by the delegated group of workers. It returns -1
+   (false) in case there was a proble delegating the processing.
 
    This function can be used from REQUEST_ROUTE|CORE_REPLY_ROUTE.
 
    Example 1.2. sworker_task() usage
 ...
-request_route {
-        if(!sworker_active()) {
+event_route[core:pre-routing] {
+        if(sworker_task("default")) {
                 xinfo("===== delegate processing [$Tf] [$si:$sp]\n");
-                sworker_task("default");
-                exit;
+                drop;
         }
         xinfo("===== processing continues [$Tf] [$si:$sp]\n");
     ...




More information about the sr-dev mailing list