Skip to content
Snippets Groups Projects
Commit 1283d4f9 authored by wactbprot's avatar wactbprot
Browse files

loop, single works

parent c976be33
Branches
No related tags found
No related merge requests found
......@@ -63,12 +63,13 @@ class Anselm(System):
self.result_col= 1
self.line_heigth = 28
self.long_line = 350
self.win = QWidget()
self.win.closeEvent = self.closeEvent
self.grid = QGridLayout(self.win)
add_device_bttn = QPushButton("add device", self.win)
add_device_bttn.setFixedSize(450, self.line_heigth)
add_device_bttn.setFixedSize(self.long_line, self.line_heigth)
add_device_bttn.clicked.connect(self.add_device_line)
self.add_widget_to_grid(add_device_bttn ,self.current_grid_line, self.add_device_btn_col)
......@@ -83,6 +84,7 @@ class Anselm(System):
self.draw_grid()
def add_widget_to_grid(self, widget, line, col):
#old_widget_item = self.grid.itemAtPosition (line, col)
......@@ -135,7 +137,7 @@ class Anselm(System):
l = widget_item.widget()
else:
l = QPlainTextEdit(self.win)
l.setFixedSize(450, self.line_heigth*2)
l.setFixedSize(self.long_line, self.line_heigth*3)
result = self.aget('result', line)
if result:
......@@ -246,7 +248,15 @@ class Anselm(System):
self.aset('year', 0, year)
self.log.info("select year {}".format( year ))
def closeEvent(self, event):
self.log.info("flush redis database")
self.r.flushdb()
if True:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Anselm()
Anselm()
sys.exit(app.exec_())
......@@ -8,8 +8,7 @@ import redis
class System:
"""
"""
max_arg_len = 40
expire_time = 5000 #ms
expire_time = 10000 #ms
log_fmt = '%(asctime)s,%(msecs)03d %(hostname)s %(filename)s:%(lineno)s %(levelname)s %(message)s'
log_level = "DEBUG"
......
......@@ -16,7 +16,7 @@ class Worker(System):
def run(self):
"""The memeber workomline is set ba anselm
"""The member workonline is set ba anselm
before the thread is start.
"""
if self.work_on_line:
......@@ -26,36 +26,44 @@ class Worker(System):
acc = task['Action']
if acc == "TCP":
start_new_thread( self.relay_worker, (task, line))
worker = self.relay_worker
if acc == "VXI11":
start_new_thread( self.relay_worker, (task, line))
worker = self.relay_worker
if acc == "wait":
start_new_thread( self.wait_worker, (task, line))
worker = self.wait_worker
start_new_thread( worker, (task, line))
self.work_on_line = None
else:
self.log.error("member work_on_line not set")
self.log.error("member var: work_on_line not set")
def relay_worker(self, task, line):
repeat = True
while repeat:
req = requests.post(self.relay_url, data=json.dumps(task), headers = self.headers)
res = req.json()
if 'Result' in res:
self.aset('result', line, res['Result'], expire=True)
self.aset('result', line, res['Result'], expire=False)
if 'ToExchange' in res:
self.aset('exchange', line, res['ToExchange'], expire=True)
self.aset('exchange', line, res['ToExchange'], expire=False)
self.r.publish('io', line)
time.sleep(self.expire_time /1000 * (1+0.1))
self.log.debug("values written")
self.r.publish('io', line)
run_kind = self.aget('run_kind', line)
self.log.debug("run_kind is {}".format(run_kind))
if run_kind == 'loop':
repeat = True
else:
repeat = False
break
def wait_worker(self, task, line):
time.sleep(5)
self.aset('result', line, [{'completed':True}], expire=True)
self.r.publish('io', line)
time.sleep(self.expire_time / 1000 * (1+0.1))
self.r.publish('io', line)
......@@ -63,3 +71,6 @@ class Worker(System):
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment