summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/solr/apache_solr_queue.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2025-11-19 14:49:01 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2025-11-19 14:49:01 +0700
commitbb2be920076aabc49b4f9fdd896d14e096e633eb (patch)
tree588196ba53fb7e41d96a61272bdb74b4821fe661 /indoteknik_custom/models/solr/apache_solr_queue.py
parent9c4f131ffaf37ca47a78b320a68f7de4e846ecfb (diff)
parent58623e9509789381dbe334969de647b4ad0302a4 (diff)
Merge branch 'odoo-backup' into locatorlocator
# Conflicts: # indoteknik_custom/models/__init__.py # indoteknik_custom/models/stock_move.py # indoteknik_custom/security/ir.model.access.csv # indoteknik_custom/views/stock_picking.xml
Diffstat (limited to 'indoteknik_custom/models/solr/apache_solr_queue.py')
-rw-r--r--indoteknik_custom/models/solr/apache_solr_queue.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/indoteknik_custom/models/solr/apache_solr_queue.py b/indoteknik_custom/models/solr/apache_solr_queue.py
index 1b51538f..3d6bd733 100644
--- a/indoteknik_custom/models/solr/apache_solr_queue.py
+++ b/indoteknik_custom/models/solr/apache_solr_queue.py
@@ -1,10 +1,10 @@
from odoo import models, fields
from datetime import datetime, timedelta
-import logging, time
-
+import logging, time, traceback # <-- tambah traceback
_logger = logging.getLogger(__name__)
+
class ApacheSolrQueue(models.Model):
_name = 'apache.solr.queue'
@@ -19,6 +19,7 @@ class ApacheSolrQueue(models.Model):
], 'Execute Status')
execute_date = fields.Datetime('Execute Date')
description = fields.Text('Description')
+ log = fields.Text('Log')
def _compute_display_name(self):
for rec in self:
@@ -39,7 +40,7 @@ class ApacheSolrQueue(models.Model):
if elapsed_time > max_exec_time:
break
rec.execute_queue()
-
+
def open_target_record(self):
return {
'name': '',
@@ -67,17 +68,21 @@ class ApacheSolrQueue(models.Model):
if model_instance:
getattr(model_instance, function_name)()
rec.execute_status = 'success'
+ rec.log = traceback.format_exc()
else:
rec.execute_status = 'not_found'
except Exception as e:
- rec.description = e
+ # simpan error ringkas + traceback lengkap
+ rec.description = str(e)
+ rec.log = traceback.format_exc()
rec.execute_status = 'failed'
+
rec.execute_date = datetime.utcnow()
self.env.cr.commit()
def create_unique(self, payload={}):
count = self.search_count([
- ('res_model', '=', payload['res_model']),
+ ('res_model', '=', payload['res_model']),
('res_id', '=', payload['res_id']),
('function_name', '=', payload['function_name']),
('execute_status', '=', False)
@@ -90,8 +95,6 @@ class ApacheSolrQueue(models.Model):
('execute_status', '=', 'success'),
('execute_date', '>=', (datetime.utcnow() - timedelta(days=days_after))),
], limit=limit)
-
+
for rec in solr:
rec.unlink()
-
-