blib/lib/Minion/Backend/Sereal.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 114 | 135 | 84.4 |
line | l | !l | condition |
---|---|---|---|
116 | 0 | 40 | push @$locks, $this_expires and return 1 |
277 | 0 | 199 | $job = $candidate and last CANDIDATE |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
85 | 15 | 15 | 90 | (!defined($options->{'queue'}) || $_->{'queue'} eq $options->{'queue'}) && (!defined($options->{'state'}) || $_->{'state'} eq $options->{'state'}) && (!defined($options->{'task'}) || $_->{'task'} eq $options->{'task'}) |
87 | 0 | 0 | 60 | ($_->{'children'} = $guard->_children($_->{'id'})) && $_ |
169 | 3 | 5 | 0 | $_->{'notified'} < $after and delete $$workers{$_->{'id'}} |
174 | 88 | 53 | 31 | $job->{'state'} eq 'finished' and $job->{'finished'} <= $after |
181 | 126 | 1 | 16 | $_->{'state'} eq 'active' && !exists($$workers{$_->{'worker'}}) |
201 | 91 | 15 | 0 | exists $options->{$_} and $job->{$_} = $options->{$_} |
216 | 226 | 5 | 18 | $job->{'state'} eq 'active' and not $seen{$job->{'worker'}}++ |
218 | 194 | 53 | 2 | $job->{'state'} eq 'inactive' and &Minion::Backend::Sereal::time() < $job->{'delayed'} || @{$job->{'parents'};} |
242 | 20 | 35 | 45 | $i < $length and ($locks->[$i] // 0) <= $now |
271 | 20 | 10 | 263 | $_->{'state'} eq 'inactive' && $queues{$_->{'queue'}} && $$tasks{$_->{'task'}} && $_->{'delayed'} <= $now |
280 | 2 | 7 | 6 | exists $jobs->{$parent} and grep(($jobs->{$parent}{'state'} eq $_), ('active', 'failed', 'inactive')) |
303 | 99 | 53 | 5 | $fail and $job->{'attempts'} > $retries + 1 |
311 | 10 | 5 | 85 | $id and my $worker = $guard->_workers->{$id} |
314 | 170 | 0 | 15 | $_->{'state'} eq 'active' && $_->{'worker'} eq $id |
line | l | !l | condition |
---|---|---|---|
20 | 5 | 2 | shift() // [] |
4 | 3 | shift() // [] | |
28 | 9 | 1 | $inboxes->{$_} //= [] |
42 | 106 | 69 | shift() // [] |
32 | 143 | shift() // {} | |
55 | 6 | 169 | $options->{'attempts'} // 1 |
5 | 170 | $options->{'delay'} // 0 | |
5 | 170 | $options->{'notes'} // {} | |
3 | 172 | $options->{'parents'} // [] | |
5 | 170 | $options->{'priority'} // 0 | |
8 | 167 | $options->{'queue'} // 'default' | |
99 | 45 | 30 | shift() // {} |
100 | 45 | 30 | $options->{'limit'} || 1 |
103 | 55 | 20 | $guard->_locks->{$name} //= [] |
107 | 70 | 10 | $_ // 0 |
116 | 15 | 25 | $$locks[$#$locks] // 0 |
119 | 0 | 0 | $a // 0 |
0 | 0 | $b // 0 | |
135 | 4 | 1 | $inboxes->{$id} // [] |
141 | 152 | 0 | shift() // {} |
148 | 152 | 0 | $options->{'status'} // {} |
192 | 25 | 40 | shift() // {} |
229 | 18 | 50 | $states{'active'} // 0 |
13 | 55 | $states{'failed'} // 0 | |
30 | 38 | $states{'finished'} // 0 | |
42 | 26 | $states{'inactive'} // 0 | |
237 | 55 | 0 | $guard->_locks->{$name} //= [] |
242 | 35 | 45 | $locks->[$i] // 0 |
263 | 27 | 249 | $options->{'queues'} // ['default'] |
277 | 208 | 0 | $candidate->{'parents'} // [] |
346 | 4649 | 0 | $job->{'parents'} // [] |
359 | 107 | 12 | $_[0]->_data->{'inboxes'} //= {} |
367 | 58 | 10 | $_[0]->_data->{'job_count'} //= 0 |
376 | 2150 | 12 | $_[0]->_data->{'jobs'} //= {} |
391 | 125 | 10 | (shift())->_data->{'locks'} //= {} |
400 | 1111 | 0 | syswrite($file, $payload) // -1 |
405 | 590 | 12 | $_[0]->_data->{'workers'} //= {} |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
35 | 202 | 0 | 37 | $self->_try($id, $options) || do { &usleep($wait * 1000000); $self->_try($id, $options) } |
218 | 5 | 2 | 48 | &Minion::Backend::Sereal::time() < $job->{'delayed'} || @{$job->{'parents'};} |
351 | 2503 | 1851 | 0 | $_[0]{'data'} //= $_[0]->_load($_[0]{'backend'}{'file'}) |
380 | 1844 | 7 | 0 | $self->{'backend'}{'_guard_decoder'} //= 'Sereal::Decoder'->new |
395 | 1104 | 7 | 0 | $self->{'backend'}{'_guard_encoder'} //= 'Sereal::Encoder'->new |