Module: kamailio
Branch: master
Commit: 609758beb0c70eb881158230bc402003016aebe0
URL: https://github.com/kamailio/kamailio/commit/609758beb0c70eb881158230bc40200…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2018-02-26T20:31:21+01:00
modules: readme files regenerated - app_python3 ... [skip ci]
---
Modified: src/modules/app_python3/README
---
Diff: https://github.com/kamailio/kamailio/commit/609758beb0c70eb881158230bc40200…
Patch: https://github.com/kamailio/kamailio/commit/609758beb0c70eb881158230bc40200…
---
diff --git a/src/modules/app_python3/README b/src/modules/app_python3/README
index 518f72c71d..1010241b2c 100644
--- a/src/modules/app_python3/README
+++ b/src/modules/app_python3/README
@@ -183,11 +183,16 @@ python_exec("my_python_function", "$rU");
5.1. app_python.reload
- IMPORTANT: not functional yet (can crash a running instance, use it
- only for testing).
+ IMPORTANT: this is not thread-safe. In your Python script do not use C
+ extensions with threads that call into apy_exec().
Marks the need to reload the Python script. The actual reload is done
- by every working process when the next call to KEMI config is executed.
+ in each worker when it next invokes a Python method. The module uses a
+ worker process lock to prevent recursive reloads.
+
+ This function only reloads the user script and creates a new script
+ object. It does not reinitialize the interpreter. E.g., references in
+ the old module remain if not redefined by the new version.
Name: app_python.reload
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Implement script reloading by copying the method used in app_lua: the version of the script is incremented by RPC.
For each worker, the next time it handles a method, python_exec.c:apy_exec()
will check for a newer version and reload, if necessary.
Set a lock so the script reload only occurs at depth 0 (in the unlikely case
that apy_exec() is called recursively).
This is not thread-safe as we are using a process-wide lock: don't call back
into apy_exec() from a Python C extension that uses threads.
For Pythonistas, we are reloading the module, not reinitializing the interpreter.
Standard caveats about reloading modules apply. E.g, references in the old module
that are not redefined in the newer module remain.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/1456
-- Commit Summary --
* app_python3: implement script reloading
-- File Changes --
M src/modules/app_python3/app_python_mod.c (220)
M src/modules/app_python3/app_python_mod.h (2)
M src/modules/app_python3/apy_kemi.c (47)
M src/modules/app_python3/doc/app_python3_admin.xml (14)
M src/modules/app_python3/python_exec.c (98)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/1456.patchhttps://github.com/kamailio/kamailio/pull/1456.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/1456
Module: kamailio
Branch: master
Commit: 7f463b313c6dee9d1b90a3aba631855035203e94
URL: https://github.com/kamailio/kamailio/commit/7f463b313c6dee9d1b90a3aba631855…
Author: AntonyA <ascanio.alba7(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2018-02-26T20:25:55+01:00
app_python3: implement script reloading
Copy the method used in app_lua: the version of the script is incremented by RPC.
In python_exec.c:apy_exec() check for a newer version and reload the script.
Set a lock so the script reload only occurs at depth 0 (in the unlikely case
that apy_exec() is called recursively).
This is not thread-safe as we are using a process-wide lock: don't call back
into apy_exec() from a Python extension that uses threads.
---
Modified: src/modules/app_python3/app_python_mod.c
Modified: src/modules/app_python3/app_python_mod.h
Modified: src/modules/app_python3/apy_kemi.c
Modified: src/modules/app_python3/doc/app_python3_admin.xml
Modified: src/modules/app_python3/python_exec.c
---
Diff: https://github.com/kamailio/kamailio/commit/7f463b313c6dee9d1b90a3aba631855…
Patch: https://github.com/kamailio/kamailio/commit/7f463b313c6dee9d1b90a3aba631855…
Hello,
Kamailio SIP Server v4.4.7 stable release is out.
This is the last planned maintenance release of the old stable branch,
4.4, that includes fixes since the release of v4.4.6. There is no change
to database schema or configuration language structure that you have to
do on upgrading previous installations of v4.4.x. Deployments running
previous v4.x.x versions are strongly recommended to be upgraded to
v4.4.7, or even better to v5.0.x or 5.1.x.
For more details about version 4.4.7 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2018/02/kamailio-v4-4-7-released/
RPM, Debian/Ubuntu packages will be available soon as well.
Note: theb branch 4.4 is going out of maintenance life time, the latest
stable branch is 5.1, at this moment with its latest release v5.1.2. See
more details about it at:
* https://www.kamailio.org/w/kamailio-v5-1-0-release-notes/
Many thanks to all contributing and using Kamailio!
Cheers,
Daniel
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
- update documentation and python_examples/ to reflect the new module name
- fix typo arg->args in python_examples/handler.py
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
Update the documentation for module app_python3 to reflect the new name
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/1450
-- Commit Summary --
* app_python3: update documentation
-- File Changes --
M src/modules/app_python3/README (42)
M src/modules/app_python3/README.TestCase-Loggers (8)
M src/modules/app_python3/doc/Makefile (2)
R src/modules/app_python3/doc/app_python3.xml (16)
R src/modules/app_python3/doc/app_python3_admin.xml (56)
M src/modules/app_python3/python_examples/Loggers.py (87)
M src/modules/app_python3/python_examples/TestCase_Traceback.py (16)
M src/modules/app_python3/python_examples/handler.py (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/1450.patchhttps://github.com/kamailio/kamailio/pull/1450.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/1450