only take one job at a time per worker

This commit is contained in:
Oliver Gorwits
2014-08-10 13:47:41 +01:00
parent 2366738d54
commit e9043b90e8
2 changed files with 20 additions and 25 deletions

View File

@@ -20,11 +20,11 @@ sub worker_body {
while (1) { while (1) {
prctl sprintf 'netdisco-daemon: worker #%s %s: idle', $wid, lc($type); prctl sprintf 'netdisco-daemon: worker #%s %s: idle', $wid, lc($type);
my $jobs = [ $self->{queue}->dequeue(1) ]; # FIXME multiple take, take type, thaw
foreach my $job (@$jobs) { my $job = $self->{queue}->dequeue(1);
next unless defined $job; next unless defined $job;
$job = schema('daemon')->dclone( $job );
$job = schema('daemon')->dclone( $job ); # TODO stop using DBIC
my $target = $self->munge_action($job->action); my $target = $self->munge_action($job->action);
try { try {
@@ -45,7 +45,6 @@ sub worker_body {
$self->close_job($job); $self->close_job($job);
} }
}
} }
sub close_job { sub close_job {

View File

@@ -101,10 +101,6 @@ jobs from the queue.
=head2 id (auto) =head2 id (auto)
=head2 type (required)
=head2 wid (required, default 0)
=head2 entered =head2 entered
=head2 started =head2 started