NAME
Minion::Backend::File - File backend
SYNOPSIS
my
$backend
= Minion::Backend::File->new(
'/Users/sri/minion.db'
);
DESCRIPTION
Minion::Backend::File is a highly portable backend for Minion based on DBM::Deep.
ATTRIBUTES
Minion::Backend::File inherits all attributes from Minion::Backend and implements the following new ones.
db
my
$db
=
$backend
->db;
$backend
=
$backend
->db(DBM::Deep->new);
DBM::Deep object used to store all data.
METHODS
Minion::Backend::File inherits all methods from Minion::Backend and implements the following new ones.
dequeue
my
$job_info
=
$backend
->dequeue(
$worker_id
, 0.5);
Wait for job, dequeue it and transition from inactive
to active
state or return undef
if queue was empty.
enqueue
my
$job_id
=
$backend
->enqueue(
'foo'
);
my
$job_id
=
$backend
->enqueue(
foo
=> [
@args
]);
my
$job_id
=
$backend
->enqueue(
foo
=> [
@args
] => {
priority
=> 1});
Enqueue a new job with inactive
state.
These options are currently available:
- delay
-
delay
=> 10
Delay job for this many seconds from now.
- priority
-
priority
=> 5
Job priority, defaults to
0
.
fail_job
my
$bool
=
$backend
->fail_job(
$job_id
);
my
$bool
=
$backend
->fail_job(
$job_id
,
'Something went wrong!'
);
my
$bool
=
$backend
->fail_job(
$job_id
, {
msg
=>
'Something went wrong!'
});
Transition from active
to failed
state.
finish_job
my
$bool
=
$backend
->finish_job(
$job_id
);
my
$bool
=
$backend
->finish_job(
$job_id
,
'All went well!'
);
my
$bool
=
$backend
->finish_job(
$job_id
, {
msg
=>
'All went well!'
});
Transition from active
to finished
state.
job_info
my
$job_info
=
$backend
->job_info(
$job_id
);
Get information about a job or return undef
if job does not exist.
list_jobs
my
$batch
=
$backend
->list_jobs(
$offset
,
$limit
);
my
$batch
=
$backend
->list_jobs(
$offset
,
$limit
, {
state
=>
'inactive'
});
Returns the same information as "job_info" but in batches.
These options are currently available:
- state
-
state
=>
'inactive'
List only jobs in this state.
- task
-
task
=>
'test'
List only jobs for this task.
list_workers
my
$batch
=
$backend
->list_workers(
$offset
,
$limit
);
Returns the same information as "worker_info" but in batches.
new
my
$backend
= Minion::Backend::File->new(
'/Users/sri/minion.db'
);
Construct a new Minion::Backend::File object.
register_worker
my
$worker_id
=
$backend
->register_worker;
Register worker.
remove_job
my
$bool
=
$backend
->remove_job(
$job_id
);
Remove failed
, finished
or inactive
job from queue.
repair
$backend
->repair;
Repair worker registry and job queue if necessary.
reset
$backend
->
reset
;
Reset job queue.
retry_job
my
$bool
=
$backend
->retry_job(
$job_id
);
Transition from failed
or finished
state back to inactive
.
stats
my
$stats
=
$backend
->stats;
Get statistics for jobs and workers.
unregister_worker
$backend
->unregister_worker(
$worker_id
);
Unregister worker.
worker_info
my
$worker_info
=
$backend
->worker_info(
$worker_id
);
Get information about a worker or return undef
if worker does not exist.