Skip to Content.
Sympa Menu

devel - Re: [sympa-developpers] [sympa-commits] sympa[10705] trunk/src/lib/Sympa/Instruction.pm: [dev] load dependencies at runtime, and only if needed

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: IKEDA Soji <address@concealed>
  • To: address@concealed
  • Subject: Re: [sympa-developpers] [sympa-commits] sympa[10705] trunk/src/lib/Sympa/Instruction.pm: [dev] load dependencies at runtime, and only if needed
  • Date: Tue, 27 May 2014 22:54:47 +0900

Hi,

How about using Class::Autouse?

Regards,

--- Soji

On Fri, 23 May 2014 09:10:07 +0200 (CEST)
address@concealed wrote:

> sympa[10705] trunk/src/lib/Sympa/Instruction.pm: [dev] load dependencies at
> runtime, and only if needed
> Revision 10705 Author rousse Date 2014-05-23 09:10:07 +0200 (ven. 23 mai
> 2014)
> Log Message[dev] load dependencies at runtime, and only if needed
> Modified Paths
> trunk/src/lib/Sympa/Instruction.pm
> Diff
> Modified: trunk/src/lib/Sympa/Instruction.pm (10704 => 10705)
> --- trunk/src/lib/Sympa/Instruction.pm 2014-05-23 06:52:25 UTC (rev
> 10704)
> +++ trunk/src/lib/Sympa/Instruction.pm 2014-05-23 07:10:07 UTC (rev
> 10705)
> @@ -29,16 +29,9 @@
> use English qw(-no_match_vars);
> use Time::Local qw();
>
> -use Sympa::Bulk;
> -use Sympa::List;
> use Sympa::Log::Syslog;
> -use Sympa::Robot;
> -use Sympa::Site;
> -use Sympa::Spool::File::Task;
> -use Sympa::Task;
> use Sympa::Tools;
> use Sympa::Tools::Time;
> -use Sympa::Tracking;
>
> ###### DEFINITION OF AVAILABLE COMMANDS FOR TASKS ######
>
> @@ -400,9 +393,10 @@
> }
>
> sub _send_msg {
> -
> my ($self, $task) = @_;
>
> + require Sympa::Site;
> +
> my @tab = @{$self->{'Rarguments'}};
> my $template = $tab[1];
> my $var = $tab[0];
> @@ -460,9 +454,12 @@
> }
>
> sub _next_cmd {
> -
> my ($self, $task) = @_;
>
> + require Sympa::Site;
> + require Sympa::Spool::File::Task;
> + require Sympa::Task;
> +
> my @tab = @{$self->{'Rarguments'}};
>
> # conversion of the date argument into epoch format
> @@ -556,9 +553,10 @@
> }
>
> sub _select_subs {
> -
> my ($self, $task) = @_;
>
> + require Sympa::Scenario;
> +
> my @tab = @{$self->{'Rarguments'}};
> my $condition = $tab[0];
>
> @@ -608,9 +606,11 @@
> }
>
> sub _delete_subs_cmd {
> -
> my ($self, $task) = @_;
>
> + require Sympa::Scenario;
> + require Sympa::Site;
> +
> my @tab = @{$self->{'Rarguments'}};
> my $var = $tab[0];
>
> @@ -831,12 +831,16 @@
> ## to this message
> sub _purge_tables {
> my ($self, $task) = @_;
> +
> + require Sympa::Bulk;
> + require Sympa::List;
> + require Sympa::Robot;
> + require Sympa::Tracking;
> +
> Sympa::Log::Syslog::do_log('info', 'task_manager::purge_tables()');
>
> my $removed;
>
> - require Sympa::Tracking;
> -
> $removed = Sympa::Bulk::purge_bulkspool();
> unless (defined $removed) {
> $self->_error(
> @@ -849,7 +853,6 @@
> Sympa::Log::Syslog::do_log('notice', '%s rows removed in
> bulkspool_table',
> $removed);
>
> - #
> $removed = 0;
> foreach my $robot (@{Sympa::Robot::get_robots()}) {
> my $all_lists = Sympa::List::get_lists($robot);
> @@ -867,10 +870,10 @@
>
> ## remove one time ticket table if older than
> Sympa::Site->one_time_ticket_table_ttl
> sub _purge_one_time_ticket_table {
> -
> my ($self, $task) = @_;
> Sympa::Log::Syslog::do_log('info',
> 'task_manager::purge_one_time_ticket_table()');
> +
> require Sympa::Session;
>
> my $removed = Sympa::Session::purge_old_tickets('Site');
> @@ -893,8 +896,14 @@
>
> sub _purge_user_table {
> my ($self, $task) = @_;
> +
> Sympa::Log::Syslog::do_log('debug2', 'purge_user_table()');
>
> + require Sympa::Robot;
> + require Sympa::List;
> + require Sympa::Site;
> + require Sympa::User;
> +
> ## Load user_table entries
> my @users = Sympa::User::get_all_global_user();
>
> @@ -968,6 +977,8 @@
> sub _purge_orphan_bounces {
> my ($self, $task) = @_;
>
> + require Sympa::List;
> +
> Sympa::Log::Syslog::do_log('info', 'purge_orphan_bounces()');
>
> ## Hash {'listname' => 'bounced address' => 1}
> @@ -1035,11 +1046,12 @@
> }
>
> sub _expire_bounce {
> -
> # If a bounce is older then
> $list->get_latest_distribution_date()-$delai expire the bounce
> # Is this variable my be set in to task modele ?
> my ($self, $task) = @_;
>
> + require Sympa::List;
> +
> my @tab = @{$self->{'Rarguments'}};
> my $delay = $tab[0];
>
> @@ -1136,15 +1148,18 @@
> }
>
> sub _chk_cert_expiration {
> -
> my ($self, $task) = @_;
>
> + require Sympa::Site;
> + require Sympa::Spool::File::Task;
> +
> my $cert_dir = Sympa::Site->ssl_cert_dir;
> my $execution_date = $task->{'date'};
> my @tab = @{$self->{'Rarguments'}};
> my $template = $tab[0];
> my $limit = Sympa::Tools::Time::duration_conv($tab[1],
> $execution_date);
>
> +
> Sympa::Log::Syslog::do_log('notice',
> "line $self->{'line_number'} : chk_cert_expiration
> (@{$self->{'Rarguments'}})"
> );
> @@ -1289,9 +1304,11 @@
> ## attention, j'ai n'ai pas pu comprendre les retours d'erreurs des
> commandes
> ## wget donc pas de verif sur le bon fonctionnement de cette commande
> sub _update_crl {
> -
> my ($self, $task) = @_;
>
> + require Sympa::Scenario;
> + require Sympa::Site;
> +
> my @tab = @{$self->{'Rarguments'}};
> my $limit = Sympa::Tools::Time::epoch_conv($tab[1], $task->{'date'});
> my $CA_file = Sympa::Site->home . "/$tab[0]"; # file where CA urls
> are stored ;
> @@ -1390,9 +1407,10 @@
> ## Subroutine for bouncers evaluation:
> # give a score for each bouncing user
> sub _eval_bouncers {
> - #################
> my ($self, $task) = @_;
>
> + require Sympa::List;
> +
> my $all_lists = Sympa::List::get_lists();
> foreach my $list (@$all_lists) {
> my $listname = $list->name;
> @@ -1466,11 +1484,12 @@
> ## Routine for automatic bouncing users management
> ##
> sub _process_bouncers {
> -###################
> my ($self, $task) = @_;
> Sympa::Log::Syslog::do_log('info',
> 'Processing automatic actions on bouncing users');
>
> + require Sympa::List;
> +
> ###########################################################################
> # This sub apply a treatment foreach category of bouncing-users
> #
> @@ -1595,13 +1614,14 @@
> }
>
> sub _get_score {
> -
> my $user_ref = shift;
> my $list_traffic = shift;
>
> Sympa::Log::Syslog::do_log('debug', 'Get_score(%s) ',
> $user_ref->{'email'});
>
> + require Sympa::Site;
> +
> my $min_period = Sympa::Site->minimum_bouncing_period;
> my $min_msg_count = Sympa::Site->minimum_bouncing_count;
>


--
株式会社 コンバージョン セキュリティ&OSSソリューション部 池田荘児
〒231-0004 神奈川県横浜市中区元浜町3-21-2 ヘリオス関内ビル7F
e-mail address@concealed TEL 045-640-3550
http://www.conversion.co.jp/




Archive powered by MHonArc 2.6.19+.

Top of Page