42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
from app.db import *
|
|
import redis
|
|
from datetime import timedelta
|
|
|
|
# Attempt to look up id_random key
|
|
# If success then return the id number
|
|
# If not success and there is a table_name then check the database table passed
|
|
# If found in database table then store in Redis
|
|
def redis_lookup_id_random(record_id_random=None, table_name=None):
|
|
print('*** redis_lookup_id_random() ***')
|
|
|
|
r = redis.Redis(host='localhost', port=6379, db=7, password=None, decode_responses=True)
|
|
|
|
key_name = 'record_id:'+record_id_random
|
|
|
|
record_id = r.get(key_name)
|
|
#print('Record ID? '+str(record_id))
|
|
|
|
if record_id:
|
|
print('TTL for: '+key_name+' : '+str(record_id)+' is '+str(r.ttl(key_name))+' seconds')
|
|
return record_id
|
|
elif table_name:
|
|
data = { 'id_random': record_id_random }
|
|
sql = """
|
|
SELECT id
|
|
FROM `"""+table_name+"""` AS `table`
|
|
WHERE table.id_random = :id_random
|
|
"""
|
|
|
|
if select_results := sql_select(table_name=table_name, record_id_random=record_id_random): # sql_select(sql=sql, data=data)
|
|
#print('Record ID random found: '+str(select_results['id']))
|
|
record_id = select_results['id']
|
|
r.setex(key_name, timedelta(minutes=2), value=record_id)
|
|
return record_id
|
|
else:
|
|
#print('Record ID random was not found')
|
|
return False
|
|
else:
|
|
print('Missing table_name to select from for id_random')
|
|
return False
|
|
#return False
|