source: trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Task/Basessynchro.pm @ 2127

Last change on this file since 2127 was 2127, checked in by nanardon, 6 years ago

Try to sync base every 15' even there is no changes

File size: 1.9 KB
Line 
1package LATMOS::Accounts::Task::Basessynchro;
2
3use strict;
4use warnings;
5use base qw(LATMOS::Accounts::Task);
6use LATMOS::Accounts;
7use LATMOS::Accounts::Log;
8
9=head1 NAME
10
11LATMOS::Accounts::Task::Basessynchro - Synchronize bases
12
13=head1 DESCRIPTION
14
15This module is responsible of the copy of object from main base to others
16
17=cut
18
19sub order { 2 }
20
21sub runDelay { 900 }
22
23sub run {
24    my ($self) = @_;
25    my $LA = LATMOS::Accounts->new($self->{config}, noacl => 1) or do {
26        la_log LA_ERR, "Cannot instantiate LA";
27        return 1;
28    };
29
30    if (my $mail = $LA->val($self->{syncname} || $LA->default_synchro_name, 'maillog')) {
31        la_set_log(mail => $mail);
32    }
33
34    my $sync = $LA->create_synchro(
35        $self->{syncname} || $LA->default_synchro_name,
36        test     => $self->{test},
37    ) or do {
38       la_log LA_ERR, "cannot create sync object";
39       return;
40    };
41
42    $sync->load_dest and do {
43        la_log LA_ERR, "Cannot load destination";
44        return;
45    };
46
47    $sync->process() or do {
48        la_log LA_ERR, "Sync has failed\n";
49        return;
50    };
51
52    return 1;
53}
54
55sub reset_savepoint {
56    my ($self) = @_;
57    my $LA = LATMOS::Accounts->new($self->{config}, noacl => 1) or do {
58        la_log LA_ERR, "Cannot instantiate LA";
59        return;
60    };
61    my $sync = $LA->create_synchro(
62        $self->{syncname} || $LA->default_synchro_name,
63        test     => $self->{test},
64    ) or do {
65       la_log LA_ERR, "cannot create sync object";
66       return;
67    };
68
69
70    $sync->reset_savepoint
71}
72
731;
74
75=head1 SEE ALSO
76
77L<LATMOS::Accounts>, L<LATMOS::Accounts::Bases>
78
79=head1 AUTHOR
80
81Olivier Thauvin, E<lt>olivier.thauvin@latmos.ipsl.frE<gt>
82
83=head1 COPYRIGHT AND LICENSE
84
85Copyright (C) 2008, 2009 CNRS SA/CETP/LATMOS
86
87This library is free software; you can redistribute it and/or modify
88it under the same terms as Perl itself, either Perl version 5.10.0 or,
89at your option, any later version of Perl 5 you may have available.
90
91=cut
Note: See TracBrowser for help on using the repository browser.