Processing...

ID Type Status Progress Started Completed Duration
239 enrichment completed
0/0
2026-03-08 02:00 2026-03-08 02:00 0 min
238 monitoring failed
0/1649
2026-03-08 01:00 2026-03-17 08:43 13423 min
Error: Marked as failed: stuck in running state
236 enrichment completed
0/0
2026-03-07 02:00 2026-03-07 02:00 0 min
235 monitoring failed
0/1709
2026-03-07 01:00 2026-03-17 08:43 14863 min
Error: Marked as failed: stuck in running state
234 enrichment completed
0/0
2026-03-06 02:00 2026-03-06 02:00 0 min
233 monitoring failed
0/1329
2026-03-06 01:00 2026-03-17 08:43 16303 min
Error: Marked as failed: stuck in running state
232 enrichment completed
0/0
2026-03-05 02:00 2026-03-05 02:00 0 min
231 monitoring failed
0/2069
2026-03-05 01:00 2026-03-17 08:43 17743 min
Error: Marked as failed: stuck in running state
230 enrichment completed
0/0
2026-03-04 02:00 2026-03-04 02:00 0 min
229 monitoring failed
0/2243
2026-03-04 01:00 2026-03-17 08:43 19183 min
Error: Marked as failed: stuck in running state
228 enrichment completed
2/1
2026-03-03 09:36 2026-03-03 09:36 0 min
227 enrichment completed
5/1
2026-03-03 09:34 2026-03-03 09:35 0 min
226 enrichment completed
3/1
2026-03-03 09:00 2026-03-03 09:01 0 min
225 enrichment failed
0/0
2026-03-03 08:58 2026-03-03 09:00 1 min
Error: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'last_enriched_at': datetime.datetime(2026, 3, 3, 9, 0, 7, 415427), 'organisations_id': 607}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a) Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 228, in run_single_org_enrichment_task results = service.enrich_organisation(org) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 68, in enrich_organisation self._session.flush() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4331, in flush self._flush(objects) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush with util.safe_reraise(): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__ raise exc_value.with_traceback(exc_tb) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush flush_context.execute() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute rec.execute(self) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute util.preloaded.orm_persistence.save_obj( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 85, in save_obj _emit_update_statements( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 912, in _emit_update_statements c = connection.execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute return meth( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection return connection._execute_clauseelement( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement ret = self._execute_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'last_enriched_at': datetime.datetime(2026, 3, 3, 9, 0, 7, 415427), 'organisations_id': 607}] (Background on this error at: https://sqlalche.me/e/20/e3q8) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 26, in wrapper task_func(session, job_id=job_id, **kwargs) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 261, in run_single_org_enrichment_task session.commit() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2030, in commit trans.commit(_to_root=True) File "<string>", line 2, in commit File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go self._raise_for_prerequisite_state(fn.__name__, current_state) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 971, in _raise_for_prerequisite_state raise sa_exc.PendingRollbackError( sqlalchemy.exc.PendingRollbackError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'last_enriched_at': datetime.datetime(2026, 3, 3, 9, 0, 7, 415427), 'organisations_id': 607}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a)
224 enrichment completed
1/1
2026-03-03 08:52 2026-03-03 08:53 0 min
223 enrichment failed
0/0
2026-03-03 08:52 2026-03-03 08:53 1 min
Error: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'last_enriched_at': datetime.datetime(2026, 3, 3, 8, 53, 17, 390773), 'organisations_id': 1267}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a) Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 228, in run_single_org_enrichment_task results = service.enrich_organisation(org) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 68, in enrich_organisation self._session.flush() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4331, in flush self._flush(objects) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush with util.safe_reraise(): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__ raise exc_value.with_traceback(exc_tb) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush flush_context.execute() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute rec.execute(self) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute util.preloaded.orm_persistence.save_obj( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 85, in save_obj _emit_update_statements( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 912, in _emit_update_statements c = connection.execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute return meth( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection return connection._execute_clauseelement( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement ret = self._execute_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'last_enriched_at': datetime.datetime(2026, 3, 3, 8, 53, 17, 390773), 'organisations_id': 1267}] (Background on this error at: https://sqlalche.me/e/20/e3q8) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 26, in wrapper task_func(session, job_id=job_id, **kwargs) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 261, in run_single_org_enrichment_task session.commit() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2030, in commit trans.commit(_to_root=True) File "<string>", line 2, in commit File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go self._raise_for_prerequisite_state(fn.__name__, current_state) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 971, in _raise_for_prerequisite_state raise sa_exc.PendingRollbackError( sqlalchemy.exc.PendingRollbackError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'last_enriched_at': datetime.datetime(2026, 3, 3, 8, 53, 17, 390773), 'organisations_id': 1267}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a)
222 enrichment failed
0/0
2026-03-03 08:50 2026-03-03 08:51 1 min
Error: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET social_media=%(social_media)s, last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'social_media': '{"facebook": "https://facebook.com/p/Engineering-Council-Of-South-Africa-ECSA-100040814995744", "twitter": "https://x.com/ECSAOfficial", "instagram": ... (43 characters truncated) ... "linkedin": "https://za.linkedin.com/company/engineeringcouncilofsouthafrica", "youtube": "https://www.youtube.com/@engineeringcouncilofsoutha6610"}', 'last_enriched_at': datetime.datetime(2026, 3, 3, 8, 51, 22, 29235), 'organisations_id': 1268}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a) Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 228, in run_single_org_enrichment_task results = service.enrich_organisation(org) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 68, in enrich_organisation self._session.flush() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4331, in flush self._flush(objects) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush with util.safe_reraise(): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__ raise exc_value.with_traceback(exc_tb) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush flush_context.execute() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute rec.execute(self) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute util.preloaded.orm_persistence.save_obj( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 85, in save_obj _emit_update_statements( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 912, in _emit_update_statements c = connection.execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute return meth( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection return connection._execute_clauseelement( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement ret = self._execute_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET social_media=%(social_media)s, last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'social_media': '{"facebook": "https://facebook.com/p/Engineering-Council-Of-South-Africa-ECSA-100040814995744", "twitter": "https://x.com/ECSAOfficial", "instagram": ... (43 characters truncated) ... "linkedin": "https://za.linkedin.com/company/engineeringcouncilofsouthafrica", "youtube": "https://www.youtube.com/@engineeringcouncilofsoutha6610"}', 'last_enriched_at': datetime.datetime(2026, 3, 3, 8, 51, 22, 29235), 'organisations_id': 1268}] (Background on this error at: https://sqlalche.me/e/20/e3q8) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 26, in wrapper task_func(session, job_id=job_id, **kwargs) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 261, in run_single_org_enrichment_task session.commit() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2030, in commit trans.commit(_to_root=True) File "<string>", line 2, in commit File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go self._raise_for_prerequisite_state(fn.__name__, current_state) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 971, in _raise_for_prerequisite_state raise sa_exc.PendingRollbackError( sqlalchemy.exc.PendingRollbackError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE organisations SET social_media=%(social_media)s, last_enriched_at=%(last_enriched_at)s, updated_at=now() WHERE organisations.id = %(organisations_id)s] [parameters: {'social_media': '{"facebook": "https://facebook.com/p/Engineering-Council-Of-South-Africa-ECSA-100040814995744", "twitter": "https://x.com/ECSAOfficial", "instagram": ... (43 characters truncated) ... "linkedin": "https://za.linkedin.com/company/engineeringcouncilofsouthafrica", "youtube": "https://www.youtube.com/@engineeringcouncilofsoutha6610"}', 'last_enriched_at': datetime.datetime(2026, 3, 3, 8, 51, 22, 29235), 'organisations_id': 1268}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a)
221 enrichment completed
2/1
2026-03-03 08:48 2026-03-03 08:48 0 min
219 enrichment failed
0/0
2026-03-03 08:06 2026-03-03 08:07 1 min
Error: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE crawl_jobs SET total_items=%(total_items)s, updated_at=now() WHERE crawl_jobs.id = %(crawl_jobs_id)s] [parameters: {'total_items': 2249, 'crawl_jobs_id': 220}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a) Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 274, in run_enrichment_job self.enrich_organisation(org) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 68, in enrich_organisation self._session.flush() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4331, in flush self._flush(objects) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4466, in _flush with util.safe_reraise(): File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__ raise exc_value.with_traceback(exc_tb) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4427, in _flush flush_context.execute() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute rec.execute(self) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute util.preloaded.orm_persistence.save_obj( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 85, in save_obj _emit_update_statements( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 912, in _emit_update_statements c = connection.execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute return meth( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection return connection._execute_clauseelement( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement ret = self._execute_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute cursor.execute(statement, parameters) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 153, in execute result = self._query(query) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/cursors.py", line 322, in _query conn.query(q) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 575, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 826, in _read_query_result result.read() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 1203, in read first_packet = self.connection._read_packet() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 751, in _read_packet packet_header = self._read_bytes(4) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/pymysql/connections.py", line 805, in _read_bytes raise err.OperationalError( sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE crawl_jobs SET total_items=%(total_items)s, updated_at=now() WHERE crawl_jobs.id = %(crawl_jobs_id)s] [parameters: {'total_items': 2249, 'crawl_jobs_id': 220}] (Background on this error at: https://sqlalche.me/e/20/e3q8) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 278, in run_enrichment_job logger.error("org_enrichment_failed", org_id=org.id, error=str(e)) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 569, in __get__ return self.impl.get(state, dict_) # type: ignore[no-any-return] File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1096, in get value = self._fire_loader_callables(state, key, passive) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/attributes.py", line 1126, in _fire_loader_callables return state._load_expired(state, passive) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state.py", line 828, in _load_expired self.manager.expired_attribute_loader(self, toload, passive) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 1674, in load_scalar_attributes result = load_on_ident( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 510, in load_on_ident return load_on_pk_identity( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", line 695, in load_on_pk_identity session.execute( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2351, in execute return self._execute_internal( File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2239, in _execute_internal conn = self._connection_for_bind(bind) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2108, in _connection_for_bind return trans._connection_for_bind(engine, execution_options) File "<string>", line 2, in _connection_for_bind File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go self._raise_for_prerequisite_state(fn.__name__, current_state) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 971, in _raise_for_prerequisite_state raise sa_exc.PendingRollbackError( sqlalchemy.exc.PendingRollbackError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE crawl_jobs SET total_items=%(total_items)s, updated_at=now() WHERE crawl_jobs.id = %(crawl_jobs_id)s] [parameters: {'total_items': 2249, 'crawl_jobs_id': 220}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 189, in run_enrichment_task result_job = service.run_enrichment_job(only_without_enrichment=not force) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/enrichment/enrichment_service.py", line 304, in run_enrichment_job self._session.commit() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2030, in commit trans.commit(_to_root=True) File "<string>", line 2, in commit File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go self._raise_for_prerequisite_state(fn.__name__, current_state) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 971, in _raise_for_prerequisite_state raise sa_exc.PendingRollbackError( sqlalchemy.exc.PendingRollbackError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE crawl_jobs SET total_items=%(total_items)s, updated_at=now() WHERE crawl_jobs.id = %(crawl_jobs_id)s] [parameters: {'total_items': 2249, 'crawl_jobs_id': 220}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 26, in wrapper task_func(session, job_id=job_id, **kwargs) File "/home/membersavi-associa/htdocs/associa.membersavi.com/src/web/background.py", line 204, in run_enrichment_task session.commit() File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2030, in commit trans.commit(_to_root=True) File "<string>", line 2, in commit File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go self._raise_for_prerequisite_state(fn.__name__, current_state) File "/home/membersavi-associa/htdocs/associa.membersavi.com/.venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 971, in _raise_for_prerequisite_state raise sa_exc.PendingRollbackError( sqlalchemy.exc.PendingRollbackError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: UPDATE crawl_jobs SET total_items=%(total_items)s, updated_at=now() WHERE crawl_jobs.id = %(crawl_jobs_id)s] [parameters: {'total_items': 2249, 'crawl_jobs_id': 220}] (Background on this error at: https://sqlalche.me/e/20/e3q8) (Background on this error at: https://sqlalche.me/e/20/7s2a)
218 enrichment completed
16/1
2026-03-03 08:02 2026-03-03 08:02 0 min

Scheduled Jobs

Loading...