traewelling sync: push first, then pull
This commit is contained in:
parent
0ff4ad2f8c
commit
71fa446800
1 changed files with 24 additions and 24 deletions
|
@ -248,6 +248,30 @@ sub run {
|
||||||
eval { }
|
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 ) {
|
for my $account_data ( $self->app->traewelling->get_pull_accounts ) {
|
||||||
|
|
||||||
# $account_data->{user_id} is the travelynx uid
|
# $account_data->{user_id} is the travelynx uid
|
||||||
|
@ -272,30 +296,6 @@ sub run {
|
||||||
}
|
}
|
||||||
)->wait;
|
)->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;
|
1;
|
||||||
|
|
Loading…
Reference in a new issue