feat(sync): Update document preview trigger to use enqueue method and improve content change detection for xAI re-sync
This commit is contained in:
@@ -290,10 +290,10 @@ async def _run_advoware_sync(
|
||||
|
||||
# Trigger preview
|
||||
try:
|
||||
await ctx.emit('document.generate_preview', {
|
||||
await ctx.enqueue({'topic': 'document.generate_preview', 'data': {
|
||||
'entity_id': doc_id,
|
||||
'entity_type': 'CDokumente',
|
||||
})
|
||||
}})
|
||||
except Exception as e:
|
||||
ctx.logger.warn(f" ⚠️ Preview trigger failed: {e}")
|
||||
|
||||
@@ -326,17 +326,18 @@ async def _run_advoware_sync(
|
||||
await espocrm.update_entity('CDokumente', espo_doc['id'], update_data)
|
||||
results['updated'] += 1
|
||||
|
||||
# Mark for re-sync to xAI (hash changed)
|
||||
if espo_doc.get('aiSyncStatus') == 'synced':
|
||||
# Mark for re-sync to xAI only if content actually changed
|
||||
content_changed = blake3_hash != espo_doc.get('syncedHash', '')
|
||||
if content_changed and espo_doc.get('aiSyncStatus') == 'synced':
|
||||
await espocrm.update_entity('CDokumente', espo_doc['id'], {
|
||||
'aiSyncStatus': 'unclean',
|
||||
})
|
||||
|
||||
try:
|
||||
await ctx.emit('document.generate_preview', {
|
||||
await ctx.enqueue({'topic': 'document.generate_preview', 'data': {
|
||||
'entity_id': espo_doc['id'],
|
||||
'entity_type': 'CDokumente',
|
||||
})
|
||||
}})
|
||||
except Exception as e:
|
||||
ctx.logger.warn(f" ⚠️ Preview trigger failed: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user