diff --git a/inventory_provider/routes/jobs.py b/inventory_provider/routes/jobs.py
index c46064366b53cbfc5a966d5c02b650490cb20c28..90c59a712c8f391c95e1734502f740e106cf36a3 100644
--- a/inventory_provider/routes/jobs.py
+++ b/inventory_provider/routes/jobs.py
@@ -32,8 +32,10 @@ def update():
                 status=503,
                 mimetype="text/html")
 
-    phase2_task_id = worker.launch_refresh_cache_all(
-        current_app.config["INVENTORY_PROVIDER_CONFIG"])
+    phase2_task_id = worker.launch_refresh_cache_all(config)
+
+    r = common.get_current_redis()
+    r.set('classifier-cache:update-task-id', phase2_task_id.encode('utf-8'))
     return jsonify({'task id': phase2_task_id})
 
 
@@ -47,4 +49,19 @@ def reload_router_config(equipment_name):
 @routes.route("check-task-status/<task_id>", methods=['GET', 'POST'])
 @common.require_accepts_json
 def check_task_status(task_id):
-    return jsonify(worker.check_task_status(task_id))
+    return jsonify(list(worker.check_task_status(task_id)))
+
+
+@routes.route("check-update-status", methods=['GET', 'POST'])
+@common.require_accepts_json
+def check_update_status(task_id):
+    r = common.get_current_redis()
+    task_id = r.get('classifier-cache:update-task-id')
+    if not task_id:
+        return Response(
+            response='no pending update task found',
+            status=404,
+            mimetype="text/html")
+
+    task_id = task_id.decode('utf-8')
+    return jsonify(list(worker.check_task_status(task_id)))
diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index 91a7aeb2cff67eea44a7a655d6976b774f9f4110..98354637550386f9820cd4070ab6154d77bed52c 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -585,6 +585,8 @@ def launch_refresh_cache_all(config):
 
     update_latch_status(config, pending=True)
 
+    # TODO: [DBOARD3-242] catch exceptions & reset latch status
+
     # first batch of subtasks: refresh cached opsdb data
     subtasks = [
         update_neteng_managed_device_list.apply_async(),