weaver(1) | Cooperative Computing Tools | weaver(1) |
weaver - workflow engine for executing distributed workflows
weaver [options] <weaverfile>
Weaver is a high level interface to makeflow. A weaver input file is written in python, with the definition of functions to be applied on sets of files. weaver interprets this input file and generates a workflow specification that can be executed by makeflow. This allows an straightforward implementation of different workflow execution patterns, such as MapReduce, and AllPairs.
/-------- +-+ Python | | ---+----/ +---------------------------------+ | | Generate DAG | Weaver +-+ v +---------------------------------+ /-------| Makeflow +---+ DAG | +--------+-----------+-----+------+ -------/ | Condor | WorkQueue | SGE | Unix +-+ | Dispatch Jobs +--------+-----------+-----+------+ | v | /------- +-+ Jobs | -------/
By default, running weaver on a <weaverfile> generates an input file for makeflow, <Makeflow>, and a directory, <_Stash>, in which intermediate files are stored.
General options:
Optimization Options:
Engine Options:
On success, returns zero. On failure, returns non-zero.
Weaver expresses common workflow patterns succinctly. For example, with only the following three lines of code we can express a map pattern, in which we convert some images to the jpeg format:
convert = ParseFunction('convert {IN} {OUT}') dataset = Glob('/usr/share/pixmaps/*.xpm') jpgs = Map(convert, dataset, '{basename_woext}.jpg')
Please refer to cctools/doc/weaver_examples for further information.
The Cooperative Computing Tools are Copyright (C) 2005-2019 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details.
CCTools 8.0.0 DEVELOPMENT |