weaver(1)

πŸ“¦
version 9.9 Β· 3 versions
, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– NAME πŸ’–

weaver β€” a whole workflow engine for executing distributed workflows πŸ¦‹βœ¨ (and yes bestie, this is the weaver page from the Cooperative Computing Tools manual, section 1, we're fancy like that πŸ’…)


πŸŽ€ SYNOPSIS πŸŽ€

weaver [options] <weaverfile>

🌸 DESCRIPTION 🌸

okay so. Weaver is a high level interface to makeflow, and it is literally the moment. A weaver input file is written in python 🐍, and in it you define functions to be applied on sets of files. weaver reads that input file and generates a workflow specification that can be executed by makeflow. and the way this lets you implement different workflow execution patterns in a straightforward way β€” like MapReduce and AllPairs β€” is giving main character energy, no cap πŸ”₯

                                         /--------                        +-+ Python |
                                       | ---+----/
               +---------------------------------+ |     | Generate DAG
               |          Weaver          +-+     v
               +---------------------------------+   /-------|        Makeflow         +---+  DAG  |
               +--------+-----------+-----+------+   -------/
               | Condor | WorkQueue | SGE | Unix +-+     | Dispatch Jobs
               +--------+-----------+-----+------+ |     v
                                       | /-------                    +-+ Jobs  |
                                         -------/

✨ OPTIONS ✨

by default, running weaver on a <weaverfile> generates an input file for makeflow, <Makeflow>, plus a directory, <_Stash>, where all the intermediate files get stashed 🫢

πŸ’« General options

  • -h β€” give help information πŸ†˜
  • -W β€” stop on warnings. like, we're not ignoring the red flags bestie πŸ’€
  • -g β€” include debugging symbols in DAG πŸ›
  • -I β€” do not automatically import built-ins πŸ™ˆ
  • -N β€” do not normalize paths πŸ›€οΈ
  • -b <options> β€” set batch job options (cpu, memory, disk, batch, local, collect) βš™οΈ
  • -d <subsystem> β€” enable debugging for <subsystem> πŸ”
  • -o <log_path> β€” set log path (default: stderr) πŸ“
  • -O <directory> β€” set stash output directory (default <_Stash>) πŸ“¦

🧚 Optimization Options

  • -a β€” automatically nest abstractions πŸͺ†
  • -t <group_size> β€” inline tasks based on <group_size> πŸ“

πŸ‘‘ Engine Options

  • -x β€” execute DAG using workflow engine after compiling πŸƒβ€β™€οΈ
  • -e <arguments> β€” set arguments to workflow engine when executing 🎯
  • -wwrapper <> β€” set workflow engine wrapper 🎁

🚦 EXIT STATUS 🚦

  • On success, returns zero βœ…
  • On failure, returns non-zero ❌

🌈 EXAMPLES 🌈

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. 🫢

and that's the whole page bestie, ily, go slay some workflows πŸ’…πŸ’– this was the weaver(1) page from CCTools 8.0.0 DEVELOPMENT β€” mwah, see u next manpage πŸŽ€βœ¨

πŸ“¦ where this page comes from