Why not adopt me?
NAME
Proc::JobQueue::DependencyTask - callbacks for use with DependencyQueue
SYNOPSIS
use Proc::JobQueue::DependencyTask;
use Object::Dependency;
$graph = Object::Dependency->new()
$task = Proc::JobQueue::DependencyTask->new( $description, $callback );
$graph->add($task);
DESCRIPTION
A task is lighter than a job (Proc::JobQueue::DependencyJob) -- it is never more than a callback. It does not get schedueled as a job (Proc::JobQueue).
Tasks can be put in a dependency graph (Object::Dependency) and used by Proc::JobQueue::DependencyQueue.
A task requires a callback. The callback is invoked in array context. The first element of the return value must be one of the following strings:
done
-
Remove this task from the dependency graph.
requeue
-
Unlock the task in the dependency graph so that it can be called again. If there is a second return value from the callback, the callback is replaced with the second return value.
keep
-
Keep the dependency around but take no further action.
Later, the task will need to removed from the dependency graph with
$dependency_graph->remove_dependency($task)
LICENSE
Copyright (C) 2007-2008 SearchMe, Inc. Copyright (C) 2008-2010 David Sharnoff. Copyright (C) 2011 Google, Inc. This package may be used and redistributed under the terms of either the Artistic 2.0 or LGPL 2.1 license.