mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-05-04 12:52:36 +02:00
Fix flow loading (#611)
This commit is contained in:
parent
387afee7b7
commit
62b754d788
2 changed files with 15 additions and 17 deletions
|
|
@ -64,7 +64,7 @@ class TestConfigReceiver:
|
||||||
mock_msg.value.return_value = Mock(
|
mock_msg.value.return_value = Mock(
|
||||||
version="1.0",
|
version="1.0",
|
||||||
config={
|
config={
|
||||||
"flows": {
|
"flow": {
|
||||||
"flow1": '{"name": "test_flow_1", "steps": []}',
|
"flow1": '{"name": "test_flow_1", "steps": []}',
|
||||||
"flow2": '{"name": "test_flow_2", "steps": []}'
|
"flow2": '{"name": "test_flow_2", "steps": []}'
|
||||||
}
|
}
|
||||||
|
|
@ -109,7 +109,7 @@ class TestConfigReceiver:
|
||||||
mock_msg.value.return_value = Mock(
|
mock_msg.value.return_value = Mock(
|
||||||
version="1.0",
|
version="1.0",
|
||||||
config={
|
config={
|
||||||
"flows": {
|
"flow": {
|
||||||
"flow1": '{"name": "test_flow_1", "steps": []}'
|
"flow1": '{"name": "test_flow_1", "steps": []}'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -352,7 +352,7 @@ class TestConfigReceiver:
|
||||||
mock_msg.value.return_value = Mock(
|
mock_msg.value.return_value = Mock(
|
||||||
version="1.0",
|
version="1.0",
|
||||||
config={
|
config={
|
||||||
"flows": {
|
"flow": {
|
||||||
"flow2": '{"name": "test_flow_2", "steps": []}',
|
"flow2": '{"name": "test_flow_2", "steps": []}',
|
||||||
"flow3": '{"name": "test_flow_3", "steps": []}'
|
"flow3": '{"name": "test_flow_3", "steps": []}'
|
||||||
}
|
}
|
||||||
|
|
@ -393,7 +393,7 @@ class TestConfigReceiver:
|
||||||
mock_msg.value.return_value = Mock(
|
mock_msg.value.return_value = Mock(
|
||||||
version="1.0",
|
version="1.0",
|
||||||
config={
|
config={
|
||||||
"flows": {
|
"flow": {
|
||||||
"flow1": '{"invalid": json}', # Invalid JSON
|
"flow1": '{"invalid": json}', # Invalid JSON
|
||||||
"flow2": '{"name": "valid_flow", "steps": []}' # Valid JSON
|
"flow2": '{"name": "valid_flow", "steps": []}' # Valid JSON
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,22 +53,20 @@ class ConfigReceiver:
|
||||||
|
|
||||||
logger.info(f"Config version: {v.version}")
|
logger.info(f"Config version: {v.version}")
|
||||||
|
|
||||||
if "flows" in v.config:
|
flows = v.config.get("flow", {})
|
||||||
|
|
||||||
flows = v.config["flows"]
|
wanted = list(flows.keys())
|
||||||
|
current = list(self.flows.keys())
|
||||||
|
|
||||||
wanted = list(flows.keys())
|
for k in wanted:
|
||||||
current = list(self.flows.keys())
|
if k not in current:
|
||||||
|
self.flows[k] = json.loads(flows[k])
|
||||||
|
await self.start_flow(k, self.flows[k])
|
||||||
|
|
||||||
for k in wanted:
|
for k in current:
|
||||||
if k not in current:
|
if k not in wanted:
|
||||||
self.flows[k] = json.loads(flows[k])
|
await self.stop_flow(k, self.flows[k])
|
||||||
await self.start_flow(k, self.flows[k])
|
del self.flows[k]
|
||||||
|
|
||||||
for k in current:
|
|
||||||
if k not in wanted:
|
|
||||||
await self.stop_flow(k, self.flows[k])
|
|
||||||
del self.flows[k]
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Config processing exception: {e}", exc_info=True)
|
logger.error(f"Config processing exception: {e}", exc_info=True)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue