View | Details | Raw Unified | Return to bug 21214
Collapse All | Expand All

(-)a/misc/cronjobs/cleanup_database.pl (-13 / +22 lines)
Lines 71-76 Usage: $0 [-h|--help] [--confirm] [--sessions] [--sessdays DAYS] [-v|--verbose] Link Here
71
                      Defaults to 30 days if no days specified.
71
                      Defaults to 30 days if no days specified.
72
   -m --mail DAYS     purge items from the mail queue that are older than DAYS days.
72
   -m --mail DAYS     purge items from the mail queue that are older than DAYS days.
73
                      Defaults to 30 days if no days specified.
73
                      Defaults to 30 days if no days specified.
74
   --keep-lc LC[,LC]* only used in conjunction with -m/--mail.
75
                      Keeps certain emails in the message_queue based on a
76
                      comma-separated list of LETTER_CODES
74
   --merged           purged completed entries from need_merge_authorities.
77
   --merged           purged completed entries from need_merge_authorities.
75
   --messages DAYS    purge entries from messages table older than DAYS days.
78
   --messages DAYS    purge entries from messages table older than DAYS days.
76
                      Defaults to 365 days if no days specified.
79
                      Defaults to 365 days if no days specified.
Lines 136-141 my $sess_days; Link Here
136
my $verbose;
139
my $verbose;
137
my $zebraqueue_days;
140
my $zebraqueue_days;
138
my $mail;
141
my $mail;
142
my $letter_codes;
139
my $purge_merged;
143
my $purge_merged;
140
my $pImport;
144
my $pImport;
141
my $pLogs;
145
my $pLogs;
Lines 181-186 GetOptions( Link Here
181
    'sessdays:i'                 => \$sess_days,
185
    'sessdays:i'                 => \$sess_days,
182
    'v|verbose'                  => \$verbose,
186
    'v|verbose'                  => \$verbose,
183
    'm|mail:i'                   => \$mail,
187
    'm|mail:i'                   => \$mail,
188
    'keep-lc:s'                  => \$letter_codes,
184
    'zebraqueue:i'               => \$zebraqueue_days,
189
    'zebraqueue:i'               => \$zebraqueue_days,
185
    'merged'                     => \$purge_merged,
190
    'merged'                     => \$purge_merged,
186
    'import:i'                   => \$pImport,
191
    'import:i'                   => \$pImport,
Lines 350-369 if ($zebraqueue_days) { Link Here
350
if ($mail) {
355
if ($mail) {
351
    my $count = 0;
356
    my $count = 0;
352
    print "Mail queue purge triggered for $mail days.\n" if $verbose;
357
    print "Mail queue purge triggered for $mail days.\n" if $verbose;
353
    $sth = $dbh->prepare(
358
    print "Not deleting emails of type $letter_codes.\n" if ($verbose && $letter_codes);
354
        q{
359
     my $query = q{
355
            DELETE FROM message_queue
360
	                DELETE FROM message_queue
356
            WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY)
361
	                WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY)
357
        }
362
	            };
358
    );
363
	my @bind_params = ($mail);
359
    if ($confirm) {
364
    if ($letter_codes) {
360
        $sth->execute($mail) or die $dbh->errstr;
365
        $letter_codes =~ s/ //g;
366
        my @codes = map { "$_" } split(',', $letter_codes);
367
        $query .= " AND letter_code NOT IN ( ".(join ",", ("?") x @codes)." )";
368
        push @bind_params, @codes;
369
    }
370
    $sth = $dbh->prepare($query);
371
    if ( $confirm ) {
372
        $sth->execute(@bind_params) or die $dbh->errstr;
361
        $count = $sth->rows;
373
        $count = $sth->rows;
362
    }
374
    }
363
    if ($verbose) {
375
    if ( $verbose ) {
364
        say $confirm
376
        say $confirm ? "$count messages were deleted from the mail queue." : "Message from message_queue would have been deleted";
365
            ? "$count messages were deleted from the mail queue."
366
            : "Message from message_queue would have been deleted";
367
        say "Done with message_queue purge.";
377
        say "Done with message_queue purge.";
368
    }
378
    }
369
}
379
}
370
- 

Return to bug 21214