This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Logging & Monitoring KNX activity
#2
Some issues with your code:
1. Don't use var1 and similiar variable names. It makes the code hard to read and understand.
2. You should not use storage.all() as it's quite an expensive operation when there is a lot of data in the storage.
3. Your MySQL query does not properly escape input variables. For example, query will fail if object name contains double quotes.

For your task you can use list data type of the storage engine. It allows to create a queue system with multiple scripts adding data to queue and one script reading and removing data from it.

Add item to list:
Code:
list_name = 'log_1' data = '1234' storage.exec('rpush', list_name, data)

Get last element of the list (or nil when list is empty):
Code:
function get_last_list_item(key)   local items = storage.exec('lrange', key, -1, -1)   if type(items) == 'table' then     return items[ 1 ]   end end list_name = 'log_1' last = get_last_list_item(list_name)

Read all entries from multiple lists and remove this data. This code read all storage lists which name starts with "log_".
Code:
-- open single connection for better performance when multiple storage commands are used storage.openconn() -- find all matching keys keys = storage.keys('log_*') for _, key in ipairs(keys) do   -- get all elements from the list   data = storage.exec('lrange', key, 0, -1)   if type(data) == 'table' then     for _, item in ipairs(data) do       -- do something with data     end     -- remove read entries from the list     storage.exec('ltrim', key, #data, -1)   end end storage.closeconn()
Reply


Messages In This Thread
RE: Logging & Monitoring KNX activity - by admin - 14.04.2020, 13:00

Forum Jump: