* Mojolicious version: 7.39
* Perl version: v5.24.9
* Operating system: Linux AND 2.6.32-504.23.4.el6.x86_64
### Steps to reproduce the behavior
I'm using Mojo::IOLoop->recurring to schedule a HTTP get request every 10s.
However, from the log file, it seems the IOLoop is starting more than 1 job
at the same time. Sometimes, there are 2 or 3 or 4 jobs running at the same
time.
Code:
```
Mojo::IOLoop->recurring(
10 => sub {
my $task = 'pull_reservation';
my $backend = $self->minion->backend;
my $inactive_batch
= $backend->list_jobs( 0, -1, { state => 'inactive', task
=> $task, queue => 'default' } );
my $active_batch = $backend->list_jobs( 0, -1, { state =>
'active', task => $task, queue => 'default' } );
if ( ( !@$inactive_batch ) && ( !@$active_batch ) ) {
$self->minion->enqueue( $task => [], { priority => 1 } );
}
}
);
```
### Expected behavior
IOLoop should only be starting one job at the time.
### Actual behavior
IOLoop somestimes start more than 1 job. From the log file, it is starting
2 -4 jobs.
###Content from log file:
```
[Wed Nov 22 11:02:35 2017] [info] job completed with 0 reservations with
job_id 244828 .
[Wed Nov 22 11:02:35 2017] [info] job completed with 0 reservations with
job_id 244827 .
[Wed Nov 22 11:02:35 2017] [info] job completed with 0 reservations with
job_id 244829 .
[Wed Nov 22 11:02:42 2017] [info] job completed with 0 reservations with
job_id 244833 .
[Wed Nov 22 11:02:42 2017] [info] job completed with 0 reservations with
job_id 244832 .
[Wed Nov 22 11:02:42 2017] [info] job completed with 0 reservations with
job_id 244831 .
[Wed Nov 22 11:02:42 2017] [info] job completed with 0 reservations with
job_id 244830 .
[Wed Nov 22 11:02:54 2017] [info] job completed with 0 reservations with
job_id 244836 .
[Wed Nov 22 11:02:54 2017] [info] job completed with 0 reservations with
job_id 244834 .
```
I've also checked the details of each parallel job, they have exactly the
same create time.
```
./script/app.pl minion job 285950
{
"args" => [],
"attempts" => 1,
"children" => [],
"created" => "2017-11-22T01:25:39Z",
"delayed" => "2017-11-22T01:25:39Z",
"finished" => "2017-11-22T01:25:44Z",
"id" => 285950,
"notes" => {},
"parents" => [],
"priority" => 1,
"queue" => "default",
"result" => {
"uuid" => 246109
},
"retried" => undef,
"retries" => 0,
"started" => "2017-11-22T01:25:43Z",
"state" => "finished",
"task" => "pull_reservation",
"worker" => 157
}
./script/app.pl minion job 285951
{
"args" => [],
"attempts" => 1,
"children" => [],
"created" => "2017-11-22T01:25:39Z",
"delayed" => "2017-11-22T01:25:39Z",
"finished" => "2017-11-22T01:25:44Z",
"id" => 285951,
"notes" => {},
"parents" => [],
"priority" => 1,
"queue" => "default",
"result" => {
"uuid" => 246112
},
"retried" => undef,
"retries" => 0,
"started" => "2017-11-22T01:25:43Z",
"state" => "finished",
"task" => "pull_reservation",
"worker" => 157
}
```
While doing trouble shooting, I started using IOLoop->singleton, but it
didn't solve this problem :(
Any pointers are highly appreciated.
--
You received this message because you are subscribed to the Google Groups
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.