Changeset 2220 for trunk/LATMOS-Accounts/lib/LATMOS
- Timestamp:
- 02/25/19 16:40:07 (5 years ago)
- Location:
- trunk/LATMOS-Accounts/lib/LATMOS/Accounts
- Files:
-
- 3 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/upgrade.pm
r2204 r2220 1184 1184 ], 1185 1185 }, 1186 { 1187 ver => 30, 1188 recompute => 1, 1189 }, 1186 1190 ); 1187 1191 1188 1192 my $dbi = $self->{_db}; 1193 1194 my $NeedRecompute = 0; 1189 1195 1190 1196 foreach my $maj (@updates) { … … 1193 1199 } 1194 1200 $self->log(LA_NOTICE, 'Switching to schema revision: ' . $maj->{ver} . "\n"); 1195 foreach my $sql (@{ $maj->{sql} }) {1201 foreach my $sql (@{ $maj->{sql} || []}) { 1196 1202 { 1197 1203 my $sqlv = $sql; … … 1203 1209 return; 1204 1210 }; 1211 1212 } 1213 if ($maj->{recompute}) { 1214 $NeedRecompute = 1; 1205 1215 } 1206 1216 … … 1212 1222 $maj->{ver}, 'schema_version' 1213 1223 ); 1224 } 1225 1226 if ( $NeedRecompute ) { 1227 $self->set_global_value('NeedRecomputeObject', 'Yes'); 1214 1228 } 1215 1229 -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/SyncManager.pm
r2034 r2220 38 38 }; 39 39 40 foreach my $section (qw( basessynchro refreshexpired updatedyndata)) {40 foreach my $section (qw(update basessynchro refreshexpired updatedyndata)) { 41 41 if ( !grep { 42 42 lc($ini->val($_, 'type', '')) eq $section -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Task/Update.pm
r2219 r2220 1 package LATMOS::Accounts::Task::Update dyndata;1 package LATMOS::Accounts::Task::Update; 2 2 3 3 use strict; … … 14 14 =head1 DESCRIPTION 15 15 16 Some base doesn't handle accounts expiration. One way to do it is to synchronize 17 user with value denying login (wrong UNIX shell, password entry set to false, 18 ...). 19 20 For performance issue, objects are not written at each synchronisation, only 21 when they changes. 22 23 This module find expired user and refresh modification time to ensure 24 propagation to other database. 16 This module update in the background objects that need some value to be recompute 25 17 26 18 =cut 27 19 28 # Every 10 minutes29 sub runDelay { 5 * 60 }30 20 31 21 sub init { … … 44 34 my ($self) = @_; 45 35 46 $self->{_base}->PopulateDynData; 36 if ($self->{_base}->get_global_value('NeedRecomputeObject')) { 37 $self->{_base}->log(LA_INFO, "NeedRecomputeObject detected, recomputing objects"); 38 } else { 39 return 1; 40 } 41 42 foreach my $otype (qw(user)) { 43 foreach my $name ($self->{_base}->listRealObjects($otype)) { 44 my $object = $self->{_base}->get_object($otype, $name); 45 $object->PostSetAttribute(); 46 $self->{_base}->commit; 47 } 48 } 49 50 $self->{_base}->del_global_value('NeedRecomputeObject'); 51 $self->{_base}->commit; 47 52 48 53 1; -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Task/Updatedyndata.pm
r2189 r2220 26 26 =cut 27 27 28 # Every 10minutes28 # Every 5 minutes 29 29 sub runDelay { 5 * 60 } 30 30
Note: See TracChangeset
for help on using the changeset viewer.