The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.