From b41115f1737f2db47d363d9f116977f4b45d751b Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Thu, 20 Dec 2012 20:51:49 +0000 Subject: [PATCH] bug with txn_do in Manager worker --- Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm b/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm index f24926fe..a06513e6 100644 --- a/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm +++ b/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm @@ -20,11 +20,16 @@ sub worker_begin { $dbh->selectrow_arrayref("SELECT * FROM admin WHERE 0 = 1"); }); } - catch { $daemon->txn_do( $daemon->deploy ) }; + catch { + $daemon->txn_do(sub { + $daemon->storage->disconnect; + $daemon->deploy; + }); + }; $daemon->storage->disconnect; if ($daemon->get_db_version < $daemon->schema_version) { - $daemon->txn_do( $daemon->upgrade ); + $daemon->txn_do(sub { $daemon->upgrade }); } # on start, any jobs previously grabbed by a daemon on this host