diff --git a/lib/Travelynx/Command/traewelling.pm b/lib/Travelynx/Command/traewelling.pm index 8f62c2b8dd3e87b72bdac14c5a3bd9d1eabc0436..772c63cfdb0b29fe981f4873ac1b4e76690e8a7b 100644 --- a/lib/Travelynx/Command/traewelling.pm +++ b/lib/Travelynx/Command/traewelling.pm @@ -20,6 +20,10 @@ sub pull_sync { my $request_count = 0; for my $account_data ( $self->app->traewelling->get_pull_accounts ) { + if ( -e 'maintenance' ) { + return; + } + my $in_transit = $self->app->in_transit->get( uid => $account_data->{user_id}, ); @@ -84,6 +88,11 @@ sub push_sync { my %push_result; for my $candidate ( $self->app->traewelling->get_pushable_accounts ) { + + if ( -e 'maintenance' ) { + return; + } + $self->app->log->debug( "Pushing to Traewelling for UID $candidate->{uid}"); my $trip_id = $candidate->{journey_data}{trip_id}; @@ -140,6 +149,10 @@ sub run { my $trwl_pull_finished_at = DateTime->now( time_zone => 'Europe/Berlin' ); + if ( -e 'maintenance' ) { + return; + } + my $trwl_push_duration = $trwl_push_finished_at->epoch - $started_at->epoch; my $trwl_pull_duration = $trwl_pull_finished_at->epoch - $trwl_push_finished_at->epoch; diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm index 8ae918ea85fe1445ee448f8e9407ea947eb8126d..c9ac9b755fca805afa248d02bd736f524b1bc4bb 100644 --- a/lib/Travelynx/Command/work.pm +++ b/lib/Travelynx/Command/work.pm @@ -32,6 +32,10 @@ sub run { for my $entry ( $self->app->in_transit->get_all_active ) { + if ( -e 'maintenance' ) { + return; + } + my $uid = $entry->{user_id}; my $dep = $entry->{dep_eva}; my $arr = $entry->{arr_eva}; diff --git a/update.sh b/update.sh index d78f8a5b0a6d10d58438f5431cba248ef0b78301..58e3663c3a130c5fc500df8209e25f62f668ec7e 100755 --- a/update.sh +++ b/update.sh @@ -12,9 +12,11 @@ if [ "$1" = "with-deps" ]; then carton install cd .. sudo systemctl stop travelynx + touch maintenance mv local local.old mv local.new/local . perl index.pl database migrate + rm -f maintenance sudo systemctl start travelynx elif perl index.pl database has-current-schema; then sudo systemctl reload travelynx