On 12/12/2017 10:23 AM, Wolfgang Link wrote:
>> Thomas Lamprecht <t.lampre...@proxmox.com> hat am 12. Dezember 2017 um 08:20 
>> geschrieben:
>>
>>
>> On 12/07/2017 12:07 PM, Wolfgang Link wrote:
>>> A email notification will be send for each job when the job fails.
>>> This message will only send when an error occurs and the fail count is on 1.
>>> ---
>>>  PVE/API2/Replication.pm  | 18 ++++++++++++++++--
>>>  PVE/CLI/pvesr.pm         | 11 ++++++++++-
>>>  bin/init.d/pvesr.service |  2 +-
>>>  3 files changed, 27 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/PVE/API2/Replication.pm b/PVE/API2/Replication.pm
>>> index 38449892..8c049363 100644
>>> --- a/PVE/API2/Replication.pm
>>> +++ b/PVE/API2/Replication.pm
>>> @@ -72,7 +72,7 @@ sub run_single_job {
>>>  
>>>  # passing $now and $verbose is useful for regression testing
>>>  sub run_jobs {
>>> -    my ($now, $logfunc, $verbose) = @_;
>>> +    my ($now, $logfunc, $verbose, $mail) = @_;
>>>  
>>>      my $iteration = $now // time();
>>>  
>>> @@ -83,7 +83,21 @@ sub run_jobs {
>>>  
>>>     while (my $jobcfg = PVE::ReplicationState::get_next_job($iteration, 
>>> $start_time)) {
>>>         my $guest_class = $lookup_guest_class->($jobcfg->{vmtype});
>>> -       PVE::Replication::run_replication($guest_class, $jobcfg, 
>>> $iteration, $start_time, $logfunc, 1, $verbose);
>>> +
>>> +       eval {
>>> +           PVE::Replication::run_replication($guest_class, $jobcfg, 
>>> $iteration, $start_time, $logfunc, $verbose);
>>> +       };
>>> +       if (my $err = $@) {
>>> +           warn "$jobcfg->{id}: got unexpected replication job error - 
>>> $err";
>>> +           my $state = PVE::ReplicationState::read_state();
>>> +           my $jobstate = PVE::ReplicationState::extract_job_state($state, 
>>> $jobcfg);
>>> +           eval {
>>> +               PVE::Tools::sendmail('root', "Replication Job: 
>>> $jobcfg->{id} failed", $err)
>>> +                   if $jobstate->{fail_count} == 1 && $mail;
>>> +           };
>>
>>
>>
>>> +           warn ": $@" if $@;
>>                      ^^^^
>> Is the colon + space above intended?
> 
> Yes it is, because this is a sub-warning of the warning before.

OK.

>>
>>> +       };
>>             ^^^
>> nit: semicolon not needed for if branch.
> 
> This semicolon belongs to the eval clause.
> 

No, it does *not*, vim tells me otherwise when matching parenthesis.


>> Looks OK otherwise:
>> Reviewed-by: Thomas Lamprecht <t.lampre...@proxmox.com>
>>
>>
>>> +
>>>         $start_time = $now // time();
>>>     }
>>>      };
         ^^^
This is the eval one

_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to