diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index 85e658db855ca1fabf66c80cbad43c10215880cc..5b867c9d0ce6649afdd93840b1c10ea8b9c4d494 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -60,9 +60,18 @@ class InventoryTask(Task): )) super().update_state(**kwargs) + def on_failure(self, exc, task_id, args, kwargs, einfo): + self.update_state( + state=states.FAILURE, + meta={ + 'task': task_id, + 'message': str(exc) + }) + super().on_failure(exc, task_id, args, kwargs, einfo) -@app.task -def snmp_refresh_interfaces(hostname, community): + +@app.task(base=InventoryTask, bind=True) +def snmp_refresh_interfaces(self, hostname, community): logger = logging.getLogger(__name__) logger.debug( '>>> snmp_refresh_interfaces(%r, %r)' % (hostname, community)) @@ -76,8 +85,8 @@ def snmp_refresh_interfaces(hostname, community): '<<< snmp_refresh_interfaces(%r, %r)' % (hostname, community)) -@app.task -def netconf_refresh_config(hostname): +@app.task(base=InventoryTask, bind=True) +def netconf_refresh_config(self, hostname): logger = logging.getLogger(__name__) logger.debug('>>> netconf_refresh_config(%r)' % hostname) @@ -90,8 +99,8 @@ def netconf_refresh_config(hostname): logger.debug('<<< netconf_refresh_config(%r)' % hostname) -@app.task -def update_interfaces_to_services(): +@app.task(base=InventoryTask, bind=True) +def update_interfaces_to_services(self): logger = logging.getLogger(__name__) logger.debug('>>> update_interfaces_to_services') @@ -115,8 +124,8 @@ def update_interfaces_to_services(): logger.debug('<<< update_interfaces_to_services') -@app.task -def update_equipment_locations(): +@app.task(base=InventoryTask, bind=True) +def update_equipment_locations(self): logger = logging.getLogger(__name__) logger.debug('>>> update_equipment_locations') @@ -134,8 +143,8 @@ def update_equipment_locations(): logger.debug('<<< update_equipment_locations') -@app.task -def update_circuit_hierarchy(): +@app.task(base=InventoryTask, bind=True) +def update_circuit_hierarchy(self): logger = logging.getLogger(__name__) logger.debug('>>> update_circuit_hierarchy') @@ -165,8 +174,8 @@ def update_circuit_hierarchy(): logger.debug('<<< update_circuit_hierarchy') -@app.task -def update_geant_lambdas(): +@app.task(base=InventoryTask, bind=True) +def update_geant_lambdas(self): logger = logging.getLogger(__name__) logger.debug('>>> update_geant_lambdas')