Add another safety-net to remove locks if the execution of poller/disco gets aborted or killed

This commit is contained in:
f0o
2015-09-01 14:49:55 +01:00
parent e11f613bdd
commit 26554221fb
2 changed files with 2 additions and 0 deletions

View File

@@ -114,6 +114,7 @@ echo PHP_EOL;
foreach (dbFetch("SELECT * FROM `devices` WHERE status = 1 AND disabled = 0 $where ORDER BY device_id DESC") as $device) {
if (dbGetLock('discovering.' . $device['device_id'])) {
register_shutdown_function('dbReleaseLock','discovering.'.$device['device_id']);
discover_device($device, $options);
dbReleaseLock('discovering.' . $device['device_id']);
}

View File

@@ -118,6 +118,7 @@ if (!isset($query)) {
foreach (dbFetch($query) as $device) {
$device = dbFetchRow("SELECT * FROM `devices` WHERE `device_id` = '".$device['device_id']."'");
if (dbGetLock('polling.' . $device['device_id'])) {
register_shutdown_function('dbReleaseLock','polling.'.$device['device_id']);
poll_device($device, $options);
RunRules($device['device_id']);
echo "\r\n";