mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-06-03 01:37:20 +00:00
vzdump: add new 'next-run' field for vzdump job listing
and calculate it by getting the next event after 'now' since we currently have no way to get the last run time for jobs only running on different cluster nodes Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
38772ec8fa
commit
c048ad30c8
@ -16,6 +16,7 @@ use PVE::Exception qw(raise_param_exc);
|
||||
use PVE::VZDump;
|
||||
use PVE::VZDump::Common;
|
||||
use PVE::Jobs; # for VZDump Jobs
|
||||
use PVE::RS::CalendarEvent;
|
||||
|
||||
use base qw(PVE::RESTHandler);
|
||||
|
||||
@ -117,6 +118,16 @@ __PACKAGE__->register_method({
|
||||
foreach my $jobid (sort { $order->{$a} <=> $order->{$b} } keys %$jobs) {
|
||||
my $job = $jobs->{$jobid};
|
||||
next if $job->{type} ne 'vzdump';
|
||||
|
||||
if (my $schedule = $job->{schedule}) {
|
||||
# vzdump jobs are cluster wide, there maybe was no local run
|
||||
# so simply calculate from now
|
||||
my $last_run = time();
|
||||
my $calspec = PVE::RS::CalendarEvent->new($schedule);
|
||||
my $next_run = $calspec->compute_next_event($last_run);
|
||||
$job->{'next-run'} = $next_run if defined($next_run);
|
||||
}
|
||||
|
||||
push @$res, $job;
|
||||
}
|
||||
|
||||
|
@ -765,6 +765,22 @@ Ext.define('PVE.dc.BackupView', {
|
||||
sorter: (a, b) => (a.data.comment || '').localeCompare(b.data.comment || ''),
|
||||
flex: 1,
|
||||
},
|
||||
{
|
||||
text: gettext('Next Run'),
|
||||
dataIndex: 'next-run',
|
||||
width: 150,
|
||||
renderer: function(value) {
|
||||
if (!value) {
|
||||
return '-';
|
||||
}
|
||||
|
||||
let now = new Date(), next = new Date(value * 1000);
|
||||
if (next < now) {
|
||||
return gettext('pending');
|
||||
}
|
||||
return Proxmox.Utils.render_timestamp(value);
|
||||
},
|
||||
},
|
||||
{
|
||||
header: gettext('Retention'),
|
||||
dataIndex: 'prune-backups',
|
||||
|
Loading…
Reference in New Issue
Block a user