MangoX-Queue
view release on metacpan or search on metacpan
326327328329330331332333334335336337338339340341342343344345346
$self
->emit_safe(
error
=>
qq(Error retrieving job: $error)
,
$id_or_job
,
$error
)
if
$self
->has_subscribers(
'error'
);
}
$self
->run_callback(
$callback
,
$doc
,
$error
);
});
}
else
{
return
$self
->collection->find_one({
'_id'
=>
$id
});
}
}
sub
update {
my
(
$self
,
$job
,
$callback
) =
@_
;
# FIXME Temporary fix to remove has_finished indicator from MangoX::Queue::Job
$job
= {
map
{
$_
=>
$job
->{
$_
} }
grep
{
$_
!~ /^(?:has_finished|events)$/ }
keys
%$job
};
$job
->{_id} = Mango::BSON::ObjectID->new(
$job
->{_id})
if
$self
->no_binary_oid;
if
(
$callback
) {
return
$self
->collection->update({
'_id'
=>
$job
->{_id}},
$job
=>
sub
{
my
(
$collection
,
$error
,
$doc
) =
@_
;
if
(
$error
) {
lib/MangoX/Queue.pm view on Meta::CPAN
326327328329330331332333334335336337338339340341342343344345346
$self
->emit_safe(
error
=>
qq(Error retrieving job: $error)
,
$id_or_job
,
$error
)
if
$self
->has_subscribers(
'error'
);
}
$self
->run_callback(
$callback
,
$doc
,
$error
);
});
}
else
{
return
$self
->collection->find_one({
'_id'
=>
$id
});
}
}
sub
update {
my
(
$self
,
$job
,
$callback
) =
@_
;
# FIXME Temporary fix to remove has_finished indicator from MangoX::Queue::Job
$job
= {
map
{
$_
=>
$job
->{
$_
} }
grep
{
$_
!~ /^(?:has_finished|events)$/ }
keys
%$job
};
$job
->{_id} = Mango::BSON::ObjectID->new(
$job
->{_id})
if
$self
->no_binary_oid;
if
(
$callback
) {
return
$self
->collection->update({
'_id'
=>
$job
->{_id}},
$job
=>
sub
{
my
(
$collection
,
$error
,
$doc
) =
@_
;
if
(
$error
) {
( run in 0.233 second using v1.01-cache-2.11-cpan-496ff517765 )