diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2019-05-03 18:26:05 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2019-05-03 18:26:05 +0200 | 
| commit | b4bb68b7c328742cb49f517d90ea46c75ee2979d (patch) | |
| tree | 0e9c386f04d8ce50555070435a469ed5183cf91b /lib/Travelynx/Command | |
| parent | 545796c4a1ab9f4832301a953506f6b3a11b736c (diff) | |
Add worker command for Docker setups (#9)
Diffstat (limited to 'lib/Travelynx/Command')
| -rw-r--r-- | lib/Travelynx/Command/worker.pm | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/lib/Travelynx/Command/worker.pm b/lib/Travelynx/Command/worker.pm new file mode 100644 index 0000000..6b70f2e --- /dev/null +++ b/lib/Travelynx/Command/worker.pm @@ -0,0 +1,36 @@ +package Travelynx::Command::worker; +use Mojo::Base 'Mojolicious::Command'; +use Mojo::IOLoop; + +has description => +  'travelynx background worker'; + +has usage => sub { shift->extract_usage }; + +sub run { +	my ($self) = @_; + +	Mojo::IOLoop->recurring(180 => sub { +		$self->app->start('work'); +	}); + +	Mojo::IOLoop->recurring(3600 => sub { +		$self->app->start('maintenance'); +	}); + +	if (not Mojo::IOLoop->is_running) { +		Mojo::IOLoop->start; +	} +} + +1; + +__END__ + +=head1 SYNOPSIS + +  Usage: index.pl worker + +  Background worker for cron-less setups, e.g. Docker. + +  Calls "index.pl work" every 3 minutes and "index.pl maintenance" every 1 hour. | 
