Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 54f3cdbffa | |||
| 718e7c3245 | |||
| 6427c5ecdb | |||
| ff305819df | |||
| f4ac79093d | |||
| 1a688b3585 |
@@ -126,6 +126,9 @@ class DataServer(SocketServer, DataAPI):
|
||||
self.database_process = DataBaseProcess('data_server', self.log_verbose, self._queue_db, self._queue_ds_dict, self._queue_db_error)
|
||||
self.database_process.start()
|
||||
|
||||
self._no_data_total_duration = 0
|
||||
self._recv_memory_cost_time = 0
|
||||
|
||||
@logging_info
|
||||
def setup(self):
|
||||
self._available_channel.clear()
|
||||
@@ -669,7 +672,13 @@ class DataServer(SocketServer, DataAPI):
|
||||
print("q size= ", self._configurations[device]._queue_rec.qsize())
|
||||
|
||||
self._configurations[device].put_rec_queue(data)
|
||||
self._no_data_total_duration = 0
|
||||
ret = True
|
||||
else:
|
||||
time_diff = time() - self._recv_memory_cost_time
|
||||
self._no_data_total_duration += time_diff
|
||||
print('data is None', device, datetime.now(), self._no_data_total_duration)
|
||||
self._recv_memory_cost_time = time()
|
||||
|
||||
return ret
|
||||
|
||||
@@ -909,7 +918,7 @@ class DeviceDataRuntime(DataRuntime):
|
||||
|
||||
__slots__ = ( '_start_time', '_data_counter', '_last_data_counter', '_data_ch',
|
||||
'_data_ch_time', '_mqtt_send_data_ch_level', '_timer', '_timer_of_not_send',
|
||||
'_get_rec_data', '_cycle_start_time', '_time_stamp_list', '_prev_data', '_prev_delta_time', '_prev_time_stamp', '_task_fininsh')
|
||||
'_get_rec_data', '_cycle_start_time', '_time_stamp_list', '_prev_data', '_prev_delta_time', '_prev_time_stamp', '_task_fininsh', '_check_spi_routine_timer')
|
||||
|
||||
def __init__(self, server: DataServer, device: int, meta_file: RecordingMetaFile, data_format: AnyStr):
|
||||
super().__init__(server, device, meta_file, data_format)
|
||||
@@ -922,6 +931,7 @@ class DeviceDataRuntime(DataRuntime):
|
||||
self._mqtt_send_data_ch_level = {}
|
||||
|
||||
self._timer = None #int(time() * 10)
|
||||
self._check_spi_routine_timer = None #int(time() * 10)
|
||||
|
||||
self._timer_of_not_send = None
|
||||
self._get_rec_data = False
|
||||
@@ -1147,6 +1157,7 @@ class SpiRuntimeThread(ServerThread):
|
||||
self._time_stamp = 0.0
|
||||
self._interval = 0.045
|
||||
self._timer = time()
|
||||
self._check_spi_routine_timer = time()
|
||||
self._read_memory_board_idx = 0
|
||||
|
||||
def setup(self) -> None:
|
||||
@@ -1163,7 +1174,6 @@ class SpiRuntimeThread(ServerThread):
|
||||
def routine(self, event = None) -> None: # routine 50 ms
|
||||
server = self._server
|
||||
self._timer = time()
|
||||
|
||||
sync = server.get_spi_obj()
|
||||
|
||||
# select channel
|
||||
@@ -1179,14 +1189,17 @@ class SpiRuntimeThread(ServerThread):
|
||||
|
||||
run_time = time() - self._timer
|
||||
|
||||
real_run_time = run_time
|
||||
|
||||
if run_time > 0.045:
|
||||
# print('time, recv_data_form_spi_routine_time', time(), run_time)
|
||||
run_time = 0.045
|
||||
|
||||
if run_time >= 0.030:
|
||||
print('time, recv_data_form_spi_routine_time >= 0.030', 'device:', c, datetime.now(), time(), real_run_time)
|
||||
print('time, recv_data_form_spi_routine_time >= 0.030', 'device:', c, datetime.now(), time(), run_time)
|
||||
|
||||
spi_routine_run_time = time() - self._check_spi_routine_timer
|
||||
if spi_routine_run_time > 1:
|
||||
print('spi_routine_time > 1', 'device:', c, datetime.now(), spi_routine_run_time)
|
||||
self._check_spi_routine_timer = time()
|
||||
|
||||
event.wait(self._interval - run_time)
|
||||
sync.set_pin_mem_sel(True)
|
||||
|
||||
@@ -160,7 +160,7 @@ class DataBaseProcess(Process):
|
||||
getattr(self, do)(*args)
|
||||
return None
|
||||
|
||||
# @calculate_time(1)
|
||||
@calculate_time(1)
|
||||
def data_meta_write(self, _data: JSON_OBJECT, device_id, _uuid = None, _id = None):
|
||||
if _id > 0:
|
||||
sql_str = 'UPDATE "public"."recording_data_metas" SET '
|
||||
@@ -376,7 +376,7 @@ class DataBaseProcess(Process):
|
||||
print('recording error', e)
|
||||
return None
|
||||
|
||||
# @calculate_time(1)
|
||||
@calculate_time(1)
|
||||
def data_raw_recording_new(self, _id_dict, _channel_list, _data_dict, _end_time_dict, _size_dict):
|
||||
try:
|
||||
para_list = []
|
||||
@@ -446,7 +446,7 @@ class DataBaseProcess(Process):
|
||||
|
||||
return True
|
||||
|
||||
# @calculate_time(1)
|
||||
@calculate_time(1)
|
||||
def data_mini_recording_new(self, _id_dict, _channel_list, _data_mean_dict):
|
||||
try:
|
||||
para_list = []
|
||||
@@ -508,7 +508,7 @@ class DataBaseProcess(Process):
|
||||
|
||||
return True
|
||||
|
||||
# @calculate_time()
|
||||
@calculate_time(1)
|
||||
def data_meta_update_all_channel_raw_id(self, meta_id:str, raw_id_dict:dict):
|
||||
try:
|
||||
sql_str = "UPDATE recording_data_metas SET raw_data = jsonb_insert(raw_data, '{%s, -1}', '%s', TRUE) WHERE id = %s;"
|
||||
|
||||
@@ -165,11 +165,11 @@ class RecordingProcess(Process):
|
||||
"""
|
||||
q = None
|
||||
try:
|
||||
# now = time()
|
||||
now = time()
|
||||
q = self._queue_rec.get()
|
||||
# get_queue_time_cost = time() - now
|
||||
# if get_queue_time_cost > 2:
|
||||
# print('get queue cost time', get_queue_time_cost)
|
||||
get_queue_time_cost = time() - now
|
||||
if get_queue_time_cost > 1.1:
|
||||
print('get queue cost time', get_queue_time_cost, 'q_size', self._queue_rec.qsize())
|
||||
except:
|
||||
return False
|
||||
finally:
|
||||
|
||||
Reference in New Issue
Block a user