From b27bad32fa2a5899dc7c63fcb54de4db808025c1 Mon Sep 17 00:00:00 2001 From: zewelor Date: Mon, 5 Mar 2018 23:41:07 +0100 Subject: [PATCH] Fix lambda problem --- workers_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workers_manager.py b/workers_manager.py index f599c9e..4d78bc5 100644 --- a/workers_manager.py +++ b/workers_manager.py @@ -4,6 +4,7 @@ import threading import pip from apscheduler.schedulers.background import BackgroundScheduler from interruptingcow import timeout +from functools import partial from logger import _LOGGER from workers_queue import _WORKERS_QUEUE @@ -59,7 +60,7 @@ class WorkersManager: _LOGGER.debug("Subscribing to: %s" % worker_config['topic_subscription']) self._mqtt_callbacks.append(( worker_config['topic_subscription'], - lambda client, _ , c: self._queue_command(self.Command(worker_obj.on_command, [c.topic, c.payload])) + partial(self._on_command_wrapper, worker_obj) )) if 'topic_subscription' in config: @@ -96,3 +97,6 @@ class WorkersManager: def _pip_install_helper(package_names): for package in package_names: pip.main(['install', '-q', package]) + + def _on_command_wrapper(self, worker_obj, client, _, c): + self._queue_command(self.Command(worker_obj.on_command, [c.topic, c.payload]))