fix: DBPools Singleton - manually set db.databases after getting instance

This commit is contained in:
yumoqing 2026-05-08 15:17:17 +08:00
parent 22820b85cd
commit 34fd3ada5c
2 changed files with 42 additions and 14 deletions

View File

@ -363,7 +363,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
# High priority memories
ns = {'user_id': user_id, 'priority__gte': self.config.high_priority_threshold, 'sort': 'priority desc,last_accessed desc'}
@ -418,7 +420,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
memories = await sor.R('hermes_memory', {'id': memory_id, 'user_id': user_id})
if memories:
@ -442,7 +446,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
# Calculate cutoff date
cutoff_date = datetime.now().replace(
@ -549,7 +555,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
if action == "add":
memory_id = str(uuid.uuid4())
@ -665,7 +673,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
filters = {'user_id': user_id}
if query:
@ -710,7 +720,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
if action == "view":
filters = {'user_id': user_id, 'name': name}
@ -797,7 +809,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
if action == "create":
# Create new remote skill configuration
@ -1205,7 +1219,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
workflows = await sor.R('hermes_workflows', {'sort': 'created_at desc', 'user_id': user_id})
return {"success": True, "workflows": workflows or [], "user_id": user_id}
@ -1220,7 +1236,9 @@ class HermesAgent:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
filters = {'user_id': user_id}
if workflow_id:

View File

@ -88,7 +88,9 @@ class HermesOrchestrator:
workflow_id = str(uuid.uuid4())
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
data = {
'id': workflow_id,
@ -123,7 +125,9 @@ class HermesOrchestrator:
# Verify workflow exists and belongs to user
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
workflows = await sor.R('hermes_workflows', {
'id': workflow_id,
@ -189,7 +193,9 @@ class HermesOrchestrator:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
# Load workflow
workflows = await sor.R('hermes_workflows', {
@ -486,7 +492,9 @@ class HermesOrchestrator:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
data = {
'id': execution_id,
@ -509,7 +517,9 @@ class HermesOrchestrator:
try:
config = getConfig()
db = DBPools(config.databases)
db = DBPools()
db.databases = config.databases
async with db.sqlorContext('harnessed_agent') as sor:
end_time = datetime.now()
data = {