43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
|
From 70714b7fbe4d6f1ee943614cc26a990f20e35450 Mon Sep 17 00:00:00 2001
|
||
|
From: Tony Asleson <tasleson@redhat.com>
|
||
|
Date: Mon, 6 Jun 2022 09:51:54 -0500
|
||
|
Subject: [PATCH 8/9] lvmdbusd: Job prop. Get/GetAll exec. immediately
|
||
|
|
||
|
This allows API user the ability to check on the status of a long running
|
||
|
job without blocking in the request queue.
|
||
|
|
||
|
(cherry picked from commit eee89a941eb4e63865356cfe9e513c24cfa8e0f9)
|
||
|
---
|
||
|
daemons/lvmdbusd/job.py | 18 ++++++++++++++++++
|
||
|
1 file changed, 18 insertions(+)
|
||
|
|
||
|
diff --git a/daemons/lvmdbusd/job.py b/daemons/lvmdbusd/job.py
|
||
|
index 988b1147a..7629cafc7 100644
|
||
|
--- a/daemons/lvmdbusd/job.py
|
||
|
+++ b/daemons/lvmdbusd/job.py
|
||
|
@@ -226,3 +226,21 @@ class Job(AutomatedProperties):
|
||
|
def Uuid(self):
|
||
|
import uuid
|
||
|
return uuid.uuid1()
|
||
|
+
|
||
|
+ # Override the property "getters" implementation for the job interface, so a user can query a job while the queue
|
||
|
+ # is processing items. Originally all the property get methods were this way, but we changed this in
|
||
|
+ # e53454d6de07de56736303dd2157c3859f6fa848
|
||
|
+
|
||
|
+ # Properties
|
||
|
+ # noinspection PyUnusedLocal
|
||
|
+ @dbus.service.method(dbus_interface=dbus.PROPERTIES_IFACE,
|
||
|
+ in_signature='ss', out_signature='v')
|
||
|
+ def Get(self, interface_name, property_name):
|
||
|
+ # Note: If we get an exception in this handler we won't know about it,
|
||
|
+ # only the side effect of no returned value!
|
||
|
+ return AutomatedProperties._get_prop(self, interface_name, property_name)
|
||
|
+
|
||
|
+ @dbus.service.method(dbus_interface=dbus.PROPERTIES_IFACE,
|
||
|
+ in_signature='s', out_signature='a{sv}')
|
||
|
+ def GetAll(self, interface_name):
|
||
|
+ return AutomatedProperties._get_all_prop(self, interface_name)
|
||
|
--
|
||
|
2.37.1
|
||
|
|