From 1db4f4cd432afac46b3526022bccb7ac6ba82920 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 23 Jun 2024 12:47:41 +0200 Subject: [PATCH] work: give bodged background tasks some time to complete --- lib/Travelynx/Command/work.pm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm index 65fddc3..129ff45 100644 --- a/lib/Travelynx/Command/work.pm +++ b/lib/Travelynx/Command/work.pm @@ -324,6 +324,15 @@ sub run { if ( not $self->app->config->{traewelling}->{separate_worker} ) { $self->app->start('traewelling'); } + + # add_wagonorder and add_stationinfo assume a permanently running IOLoop + # and do not allow Mojolicious commands to wait until they have completed. + # Hence, some add_wagonorder and add_stationinfo calls made here may not + # complete before the work command exits, and thus have no effect. + # + # This is not ideal and will need fixing at some point. Until then, here + # is the pragmatic solution for 99% of the associated issues. + Mojo::Promise->timer(5)->wait; } 1;