Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d7fddb8d

Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt

  • ID d7fddb8d59bdcb8ec6bb31572d392fa29a858947
  • Vorgänger 529e6feb
  • Nachfolger 13a7879c

Task-Server: vor jedem Job mehr Variablen re-initialisieren

Besonders wichtig: $::request, da sie zum Cachen genutzt wird und die
Garantie vom Cache ist, dass er nach jedem »Request« (beim Task-Server:
nach jedem Job) geleert wird.

Unterschiede anzeigen:

scripts/task_server.pl
75 75
  die "cannot find locale for user $login" unless $::locale   = Locale->new('de');
76 76
}
77 77

  
78
sub per_job_initialization {
79
  $::locale        = Locale->new($::lx_office_conf{system}->{language});
80
  $::form          = Form->new;
81
  $::instance_conf = SL::InstanceConfiguration->new;
82
  $::request       = SL::Request->new(
83
    cgi            => CGI->new({}),
84
    layout         => SL::Layout::None->new,
85
  );
86

  
87
  $::auth->restore_session;
88

  
89
  $::form->{login} = $lx_office_conf{task_server}->{login};
90
  $::instance_conf->init;
91
}
92

  
78 93
sub drop_privileges {
79 94
  my $user = $lx_office_conf{task_server}->{run_as};
80 95
  return unless $user;
......
174 189
      foreach my $job (@{ $jobs }) {
175 190
        # Provide fresh global variables in case legacy code modifies
176 191
        # them somehow.
177
        $::locale = Locale->new($::lx_office_conf{system}->{language});
178
        $::form   = Form->new;
192
        per_job_initialization();
179 193

  
180 194
        chdir $exe_dir;
181 195

  

Auch abrufbar als: Unified diff