kopia lustrzana https://github.com/glidernet/ogn-python
25 wiersze
1.3 KiB
Python
25 wiersze
1.3 KiB
Python
from datetime import datetime
|
|
from flask import current_app
|
|
|
|
from app import redis_client
|
|
from app.gateway.message_handling import sender_position_csv_strings_to_db, receiver_position_csv_strings_to_db, receiver_status_csv_strings_to_db
|
|
|
|
|
|
def transfer_from_redis_to_database():
|
|
def unmapping(string):
|
|
return string[0].decode('utf-8')
|
|
|
|
receiver_status_data = list(map(unmapping, redis_client.zpopmin('receiver_status', 100000)))
|
|
receiver_position_data = list(map(unmapping, redis_client.zpopmin('receiver_position', 100000)))
|
|
sender_status_data = list(map(unmapping, redis_client.zpopmin('sender_status', 100000)))
|
|
sender_position_data = list(map(unmapping, redis_client.zpopmin('sender_position', 100000)))
|
|
|
|
receiver_status_csv_strings_to_db(lines=receiver_status_data)
|
|
receiver_position_csv_strings_to_db(lines=receiver_position_data)
|
|
sender_position_csv_strings_to_db(lines=sender_position_data)
|
|
|
|
current_app.logger.debug(f"transfer_from_redis_to_database: rx_stat: {len(receiver_status_data):6d}\trx_pos: {len(receiver_position_data):6d}\ttx_stat: {len(sender_status_data):6d}\ttx_pos: {len(sender_position_data):6d}")
|
|
|
|
finish_message = f"Database: {len(receiver_status_data)+len(receiver_position_data)+len(sender_status_data)+len(sender_position_data)} inserted"
|
|
return finish_message
|