On 04/06/2015 02:59 PM, Tom Davis wrote:
I'm using Heka as a generic pipeline for source code packaging. For instance, 
one input is a
URL that gets "decoded" to source code (tarballs are downloaded and extracted, 
git repos cloned,
etc.). The source is "filtered" in Lua based on matches (name, source language, 
whatever); this may
involve invoking external processes, adding new metadata files to the source 
tree, etc. When
everything is in order, the new tree is "encoded" in some way (packaged as RPM, 
Docker container,
etc.) and output.
Huh, wow. Yeah, that *is* pretty different than most of the things I've seen 
Heka used for. Neat!
For obvious reasons I'm not pushing the raw bytes of arbitrary source trees 
through messages, so a
lot of the transforming happens on the file system. The messages carry the 
metadata filters need to
match and/or decide what to do. If a particular project needs custom logic (and 
they often do) I can
load custom-built filters easily through the sandbox manager. Messages are also 
an easy way to
indirectly communicate between parts of the pipeline. An abuse, perhaps, but no 
sense bolting on
more channels.
For the record, I don't consider this an abuse. Messages are explicitly meant 
to be used for, well, for whatever you decide to use them for.
My steps don't always map super cleanly to parts of the Heka pipeline, but this 
beats writing and
instrumenting my own script-able state machine. Thanks for the interest!
Glad you were able to bend it to your will, and glad you're finding it useful. 
:)

-r

_______________________________________________
Heka mailing list
[email protected]
https://mail.mozilla.org/listinfo/heka

Reply via email to