summaryrefslogtreecommitdiff
path: root/lib/Travelynx/Command
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2022-01-08 10:46:31 +0100
committerDaniel Friesel <derf@finalrewind.org>2022-01-08 10:46:31 +0100
commit71fa4468006c943ff2d20eb52af45301fe41cfad (patch)
tree7d5a490d25ac5602bb1709b597a500a628c43691 /lib/Travelynx/Command
parent0ff4ad2f8c20a2416c7a3c1b05db1bd081888756 (diff)
traewelling sync: push first, then pull
Diffstat (limited to 'lib/Travelynx/Command')
-rw-r--r--lib/Travelynx/Command/work.pm48
1 files 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;