diff --git a/api/services/trigger/trigger_service.py b/api/services/trigger/trigger_service.py index c47c98c4de..7f12c2e19c 100644 --- a/api/services/trigger/trigger_service.py +++ b/api/services/trigger/trigger_service.py @@ -210,7 +210,7 @@ class TriggerService: for node_info in nodes_in_graph: node_id = node_info["node_id"] # firstly check if the node exists in cache - if not redis_client.get(f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{node_id}"): + if not redis_client.get(f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{app.id}:{node_id}"): not_found_in_cache.append(node_info) continue @@ -255,7 +255,7 @@ class TriggerService: subscription_id=node_info["subscription_id"], ) redis_client.set( - f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{node_info['node_id']}", + f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{app.id}:{node_info['node_id']}", cache.model_dump_json(), ex=60 * 60, ) @@ -285,7 +285,7 @@ class TriggerService: subscription_id=node_info["subscription_id"], ) redis_client.set( - f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{node_id}", + f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{app.id}:{node_id}", cache.model_dump_json(), ex=60 * 60, ) @@ -295,7 +295,7 @@ class TriggerService: for node_id in nodes_id_in_db: if node_id not in nodes_id_in_graph: session.delete(nodes_id_in_db[node_id]) - redis_client.delete(f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{node_id}") + redis_client.delete(f"{cls.__PLUGIN_TRIGGER_NODE_CACHE_KEY__}:{app.id}:{node_id}") session.commit() except Exception: logger.exception("Failed to sync plugin trigger relationships for app %s", app.id) diff --git a/api/services/trigger/webhook_service.py b/api/services/trigger/webhook_service.py index e2be4934e9..6e0ee7a191 100644 --- a/api/services/trigger/webhook_service.py +++ b/api/services/trigger/webhook_service.py @@ -833,7 +833,7 @@ class WebhookService: not_found_in_cache: list[str] = [] for node_id in nodes_id_in_graph: # firstly check if the node exists in cache - if not redis_client.get(f"{cls.__WEBHOOK_NODE_CACHE_KEY__}:{node_id}"): + if not redis_client.get(f"{cls.__WEBHOOK_NODE_CACHE_KEY__}:{app.id}:{node_id}"): not_found_in_cache.append(node_id) continue @@ -866,14 +866,16 @@ class WebhookService: session.add(webhook_record) session.flush() cache = Cache(record_id=webhook_record.id, node_id=node_id, webhook_id=webhook_record.webhook_id) - redis_client.set(f"{cls.__WEBHOOK_NODE_CACHE_KEY__}:{node_id}", cache.model_dump_json(), ex=60 * 60) + redis_client.set( + f"{cls.__WEBHOOK_NODE_CACHE_KEY__}:{app.id}:{node_id}", cache.model_dump_json(), ex=60 * 60 + ) session.commit() # delete the nodes not found in the graph for node_id in nodes_id_in_db: if node_id not in nodes_id_in_graph: session.delete(nodes_id_in_db[node_id]) - redis_client.delete(f"{cls.__WEBHOOK_NODE_CACHE_KEY__}:{node_id}") + redis_client.delete(f"{cls.__WEBHOOK_NODE_CACHE_KEY__}:{app.id}:{node_id}") session.commit() except Exception: logger.exception("Failed to sync webhook relationships for app %s", app.id)