From 71fa4468006c943ff2d20eb52af45301fe41cfad Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 8 Jan 2022 10:46:31 +0100 Subject: [PATCH] traewelling sync: push first, then pull --- lib/Travelynx/Command/work.pm | 48 +++++++++++++++++------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm index 24621b5..a1fb485 100644 --- a/lib/Travelynx/Command/work.pm +++ b/lib/Travelynx/Command/work.pm @@ -248,6 +248,30 @@ sub run { eval { } } + for my $candidate ( $self->app->traewelling->get_pushable_accounts ) { + $self->app->log->debug( + "Pushing to Traewelling for UID $candidate->{uid}"); + my $trip_id = $candidate->{journey_data}{trip_id}; + if ( not $trip_id ) { + $self->app->log->debug("... trip_id is missing"); + $self->app->traewelling->log( + uid => $candidate->{uid}, + message => +"Fehler bei $candidate->{train_type} $candidate->{train_no}: Keine trip_id vorhanden", + is_error => 1 + ); + next; + } + if ( $candidate->{data}{latest_push_ts} + and $candidate->{data}{latest_push_ts} == $candidate->{checkin_ts} ) + { + $self->app->log->debug("... already handled"); + next; + } + $self->app->traewelling_api->checkin( %{$candidate}, + trip_id => $trip_id ); + } + for my $account_data ( $self->app->traewelling->get_pull_accounts ) { # $account_data->{user_id} is the travelynx uid @@ -272,30 +296,6 @@ sub run { } )->wait; } - - for my $candidate ( $self->app->traewelling->get_pushable_accounts ) { - $self->app->log->debug( - "Pushing to Traewelling for UID $candidate->{uid}"); - my $trip_id = $candidate->{journey_data}{trip_id}; - if ( not $trip_id ) { - $self->app->log->debug("... trip_id is missing"); - $self->app->traewelling->log( - uid => $candidate->{uid}, - message => -"Fehler bei $candidate->{train_type} $candidate->{train_no}: Keine trip_id vorhanden", - is_error => 1 - ); - next; - } - if ( $candidate->{data}{latest_push_ts} - and $candidate->{data}{latest_push_ts} == $candidate->{checkin_ts} ) - { - $self->app->log->debug("... already handled"); - next; - } - $self->app->traewelling_api->checkin( %{$candidate}, - trip_id => $trip_id ); - } } 1;