[pve-devel] applied: [PATCH widget-toolkit v2 3/4] TaskViewer: show endtime and duration in status

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Jun 16 13:23:54 CEST 2020


Am 6/16/20 um 12:26 PM schrieb Dominik Csapak:
> On 6/16/20 11:19 AM, Thomas Lamprecht wrote:
>> Am 6/15/20 um 4:07 PM schrieb Dominik Csapak:
>>> but only when the caller gives us the endtime, since the status
>>> api call does not give us the endtime
>>>
>>> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
>>> ---
>>> changes from v1:
>>> * always show duration and calculate the endtime from 'now'
>>>
>>>   src/node/Tasks.js        |  1 +
>>>   src/window/TaskViewer.js | 25 +++++++++++++++++++++++++
>>>   2 files changed, 26 insertions(+)
>>>
>>> diff --git a/src/node/Tasks.js b/src/node/Tasks.js
>>> index 5aff06d..c41f0b5 100644
>>> --- a/src/node/Tasks.js
>>> +++ b/src/node/Tasks.js
>>> @@ -60,6 +60,7 @@ Ext.define('Proxmox.node.Tasks', {
>>>             let win = Ext.create('Proxmox.window.TaskViewer', {
>>>           upid: rec.data.upid,
>>> +        endtime: rec.data.endtime,
>>>           });
>>>           win.show();
>>>       };
>>> diff --git a/src/window/TaskViewer.js b/src/window/TaskViewer.js
>>> index 2f31023..51715f8 100644
>>> --- a/src/window/TaskViewer.js
>>> +++ b/src/window/TaskViewer.js
>>> @@ -152,6 +152,31 @@ Ext.define('Proxmox.window.TaskViewer', {
>>>           },
>>>       };
>>>   +    if (me.endtime) {
>>> +        if (typeof me.endtime === 'object') {
>>> +        // convert to epoch
>>> +        me.endtime = parseInt(me.endtime.getTime()/1000, 10);
>>> +        }
>>> +        rows.endtime = {
>>> +        header: gettext('End Time'),
>>> +        required: true,
>>> +        renderer: function() {
>>> +            return Proxmox.Utils.render_timestamp(me.endtime);
>>> +        },
>>> +        };
>>> +    }
>>> +
>>> +    rows.duration = {
>>> +        header: gettext('Duration'),
>>> +        required: true,
>>> +        renderer: function() {
>>> +        let starttime = statgrid.getObjectValue('starttime');
>>> +        let endtime = me.endtime || Date.now()/1000;
>>
>> We'd need to check also the status (running or not) to know if we can still fallback
>> to the current time, or? As else, if a running task gets opened we never will get
>> supplied the endtime (as we only pass that once on window creation) even if the task
>> ends after a bit.
>> We could solve this by remembering the last duration and then fallback to that one
>> if we have no endtime and the task status switches from running to something else?
> 
> we already stop the store when the task is stopped, so the renderer will
> also not be called then anymore and is stopped
> 

OK, would be good info for comment/commit-message ;-)

with adapted commit message: applied




More information about the pve-devel mailing list