Mojolicious-Plugin-Cron
view release on metacpan or search on metacpan
lib/Mojolicious/Plugin/Cron.pm view on Meta::CPAN
use Carp 'croak';
our $VERSION = "0.035";
use constant CRON_DIR => 'mojo_cron_';
my $crondir;
sub register {
my ($self, $app, $cronhashes) = @_;
croak "No schedules found" unless ref $cronhashes eq 'HASH';
# for *nix systems, getpwuid takes precedence
# for win systems or wherever getpwuid is not implemented,
# eval returns undef so getlogin takes precedence
$crondir
= path($app->config->{cron}{dir} // File::Spec->tmpdir)
->child(CRON_DIR . (eval { scalar getpwuid($<) } || getlogin || 'nobody'),
$app->mode);
Mojo::IOLoop->next_tick(sub {
if (ref((values %$cronhashes)[0]) eq 'CODE') {
# special case, plugin => 'mm hh dd ...' => sub {}
$self->_cron($app->moniker,
{crontab => (keys %$cronhashes)[0], code => (values %$cronhashes)[0]},
$app);
}
else {
( run in 0.413 second using v1.01-cache-2.11-cpan-8d75d55dd25 )