port Worker Common to pluggable jobqueue
This commit is contained in:
@@ -18,4 +18,12 @@ sub jobqueue_insert {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub jobqueue_update {
|
||||||
|
my ($self, $settings) = @_;
|
||||||
|
|
||||||
|
schema('netdisco')->resultset('Admin')
|
||||||
|
->find(delete $settings->{id}, {for => 'update'})
|
||||||
|
->update($settings);
|
||||||
|
}
|
||||||
|
|
||||||
true;
|
true;
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ use Try::Tiny;
|
|||||||
use Role::Tiny;
|
use Role::Tiny;
|
||||||
use namespace::clean;
|
use namespace::clean;
|
||||||
|
|
||||||
requires qw/worker_type worker_name munge_action/;
|
with 'App::Netdisco::Daemon::JobQueue::'. setting('job_queue');
|
||||||
|
requires qw/worker_type worker_name munge_action jobqueue_update/;
|
||||||
|
|
||||||
sub worker_body {
|
sub worker_body {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
@@ -65,14 +66,14 @@ sub close_job {
|
|||||||
# lock db row and either defer or complete the job
|
# lock db row and either defer or complete the job
|
||||||
try {
|
try {
|
||||||
if ($status eq 'defer') {
|
if ($status eq 'defer') {
|
||||||
schema('netdisco')->resultset('Admin')
|
$self->jobqueue_update({
|
||||||
->find($job->job, {for => 'update'})
|
id => $job->job,
|
||||||
->update({ status => 'queued' });
|
status => 'queued',
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
schema('netdisco')->resultset('Admin')
|
$self->jobqueue_update({
|
||||||
->find($job->job, {for => 'update'})
|
id => $job->job,
|
||||||
->update({
|
|
||||||
status => $status,
|
status => $status,
|
||||||
log => $log,
|
log => $log,
|
||||||
started => $job->started,
|
started => $job->started,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ use Role::Tiny;
|
|||||||
use namespace::clean;
|
use namespace::clean;
|
||||||
|
|
||||||
with 'App::Netdisco::Daemon::JobQueue::'. setting('job_queue');
|
with 'App::Netdisco::Daemon::JobQueue::'. setting('job_queue');
|
||||||
|
requires 'jobqueue_insert';
|
||||||
|
|
||||||
sub worker_begin {
|
sub worker_begin {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|||||||
Reference in New Issue
Block a user