Hi,
I have a follow-up question related to this.
I would like to use a python lib for mysql db connections and some simple queries(beside
what other kama module queries). I tried to make a db connection per process in kemi
"child_init()" function. All queries work ok for first and 2'nd requests.
However on 3'rd request received I get this error:
kamailio[87876]: ERROR: db_mysql [km_dbase.c:122]: db_mysql_submit_query(): driver error
on query: Lost connection to server during query (2013)
ERROR: <core> [db_query.c:141]: db_do_query_internal(): error while submitting
query
ERROR: auth_db [authorize.c:178]: get_ha1(): failed to query database
The error goes away if I close the python db connection after each request. So it requires
a new connect/disconnect for each request.
My questions are:
1. If I keep the python lib db connection per process, it should be available among new
requests, right?
2. Is the above a bug when I do KSR.auth_db.auth_check(str,str,int)?
Thank you,
Stefan
________________________________
From: Stefan-Cristian Mititelu via sr-users <sr-users(a)lists.kamailio.org>
Sent: Tuesday, December 5, 2023 4:15:47 PM
To: Kamailio (SER) - Users Mailing List
Cc: Stefan-Cristian Mititelu
Subject: [SR-Users] Re: Kemi questions
Thank you,
Stefan
________________________________
From: Daniel-Constantin Mierla <miconda(a)gmail.com>
Sent: Tuesday, December 5, 2023 4:06:08 PM
To: Kamailio (SER) - Users Mailing List
Cc: Stefan-Cristian Mititelu
Subject: Re: [SR-Users] Kemi questions
Hello,
On 05.12.23 14:50, Stefan-Cristian Mititelu via sr-users wrote:
Hello,
When writing kemi cfg (python in my case), is there any way to get rid of standard cfg
shared variables and use kemi cfg variables instead?
E.g. Instead of $shv(blabla) (in standard config) can I use some global python var called
'blabla'? Is it seen and shared by all kamailio processes? Or I still need to use
KSR.pv.get/set("$shv(blabla)") ?
the global python native variables are per process, so you can't replace $shv(...)
with them. The python ones are more like $var(...) from kamailio.
However, instead of the generic KSR.pv.get/set(), you can use the alternative KEMI
functions -- see them starting at:
-
https://www.kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/modul…
Cheers,
Daniel
--
Daniel-Constantin Mierla (@
asipto.com)
twitter.com/miconda --
linkedin.com/in/miconda
Kamailio Consultancy and Development Services
Kamailio Advanced Training --
asipto.com