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

(-)a/misc/cronjobs/cleanup_database.pl (-8 / +19 lines)
Lines 73-78 Usage: $0 Link Here
73
                      Defaults to 30 days if no days specified.
73
                      Defaults to 30 days if no days specified.
74
   -m --mail DAYS     purge items from the mail queue that are older than DAYS days.
74
   -m --mail DAYS     purge items from the mail queue that are older than DAYS days.
75
                      Defaults to 30 days if no days specified.
75
                      Defaults to 30 days if no days specified.
76
   --keep-lc LC[,LC]* only used in conjunction with -m/--mail.
77
                      Keeps certain emails in the message_queue based on a
78
                      comma-separated list of LETTER_CODES
76
   --merged           purged completed entries from need_merge_authorities.
79
   --merged           purged completed entries from need_merge_authorities.
77
   --messages DAYS    purge entries from messages table older than DAYS days.
80
   --messages DAYS    purge entries from messages table older than DAYS days.
78
                      Defaults to 365 days if no days specified.
81
                      Defaults to 365 days if no days specified.
Lines 141-146 my $sess_days; Link Here
141
my $verbose;
144
my $verbose;
142
my $zebraqueue_days;
145
my $zebraqueue_days;
143
my $mail;
146
my $mail;
147
my $letter_codes;
144
my $purge_merged;
148
my $purge_merged;
145
my $pImport;
149
my $pImport;
146
my $pLogs;
150
my $pLogs;
Lines 189-194 GetOptions( Link Here
189
    'sessdays:i'                 => \$sess_days,
193
    'sessdays:i'                 => \$sess_days,
190
    'v|verbose'                  => \$verbose,
194
    'v|verbose'                  => \$verbose,
191
    'm|mail:i'                   => \$mail,
195
    'm|mail:i'                   => \$mail,
196
    'keep-lc:s'                  => \$letter_codes,
192
    'zebraqueue:i'               => \$zebraqueue_days,
197
    'zebraqueue:i'               => \$zebraqueue_days,
193
    'merged'                     => \$purge_merged,
198
    'merged'                     => \$purge_merged,
194
    'import:i'                   => \$pImport,
199
    'import:i'                   => \$pImport,
Lines 361-374 if ($zebraqueue_days) { Link Here
361
if ($mail) {
366
if ($mail) {
362
    my $count = 0;
367
    my $count = 0;
363
    print "Mail queue purge triggered for $mail days.\n" if $verbose;
368
    print "Mail queue purge triggered for $mail days.\n" if $verbose;
364
    $sth = $dbh->prepare(
369
    print "Not deleting emails of type $letter_codes.\n" if ( $verbose && $letter_codes );
365
        q{
370
    my $query = q{
366
            DELETE FROM message_queue
371
                    DELETE FROM message_queue
367
            WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY)
372
                    WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY)
368
        }
373
                };
369
    );
374
    my @bind_params = ($mail);
375
    if ($letter_codes) {
376
        $letter_codes =~ s/ //g;
377
        my @codes = map { "$_" } split( ',', $letter_codes );
378
        $query .= " AND letter_code NOT IN ( " . ( join ",", ("?") x @codes ) . " )";
379
        push @bind_params, @codes;
380
    }
381
    $sth = $dbh->prepare($query);
370
    if ($confirm) {
382
    if ($confirm) {
371
        $sth->execute($mail) or die $dbh->errstr;
383
        $sth->execute(@bind_params) or die $dbh->errstr;
372
        $count = $sth->rows;
384
        $count = $sth->rows;
373
    }
385
    }
374
    if ($verbose) {
386
    if ($verbose) {
375
- 

Return to bug 21214