diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-03-07 19:06:21 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-03-07 19:06:21 +0100 |
commit | 574e83d56727a088d57d4bb1c7dcd37a2c67f1fd (patch) | |
tree | 1fdf0ac2a26c2575a7aac15eb8f98dff1ae9fd3e /lib/Travelynx | |
parent | a21826a055a5f477560537f4bd022a7cdb15d50a (diff) |
Move incomplete checkin removal from "maintenance" to "work" task
Diffstat (limited to 'lib/Travelynx')
-rw-r--r-- | lib/Travelynx/Command/maintenance.pm | 10 | ||||
-rw-r--r-- | lib/Travelynx/Command/work.pm | 12 |
2 files changed, 11 insertions, 11 deletions
diff --git a/lib/Travelynx/Command/maintenance.pm b/lib/Travelynx/Command/maintenance.pm index a8aee31..5f609cb 100644 --- a/lib/Travelynx/Command/maintenance.pm +++ b/lib/Travelynx/Command/maintenance.pm @@ -15,7 +15,6 @@ sub run { my ( $self, $filename ) = @_; my $now = DateTime->now( time_zone => 'Europe/Berlin' ); - my $checkin_deadline = $now->clone->subtract( hours => 48 ); my $verification_deadline = $now->clone->subtract( hours => 48 ); my $deletion_deadline = $now->clone->subtract( hours => 72 ); my $old_deadline = $now->clone->subtract( years => 1 ); @@ -23,13 +22,6 @@ sub run { my $db = $self->app->pg->db; my $tx = $db->begin; - my $res = $db->delete( 'in_transit', - { checkin_time => { '<', $checkin_deadline } } ); - - if ( my $rows = $res->rows ) { - printf( "Removed %d incomplete checkins\n", $rows ); - } - my $unverified = $db->select( 'users', 'id, email, extract(epoch from registered_at) as registered_ts', @@ -76,7 +68,7 @@ sub run { printf( "Pruned unverified user %d\n", $user->{id} ); } - $res = $db->delete( 'pending_passwords', + my $res = $db->delete( 'pending_passwords', { requested_at => { '<', $verification_deadline } } ); if ( my $rows = $res->rows ) { diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm index 961a48c..24621b5 100644 --- a/lib/Travelynx/Command/work.pm +++ b/lib/Travelynx/Command/work.pm @@ -17,11 +17,19 @@ has usage => sub { shift->extract_usage }; sub run { my ($self) = @_; - my $now = DateTime->now( time_zone => 'Europe/Berlin' ); - my $json = JSON->new; + my $now = DateTime->now( time_zone => 'Europe/Berlin' ); + my $checkin_deadline = $now->clone->subtract( hours => 48 ); + my $json = JSON->new; my $db = $self->app->pg->db; + my $res = $db->delete( 'in_transit', + { checkin_time => { '<', $checkin_deadline } } ); + + if ( my $rows = $res->rows ) { + $self->app->log->debug("Removed ${rows} incomplete checkins"); + } + for my $entry ( $db->select( 'in_transit_str', '*', { cancelled => 0 } )->hashes->each ) { |