GithubHelp home page GithubHelp logo

plebify's Introduction

Plebify

A simple event triggered task runner written in Scala and Akka.

What does Plebify do?

Most large applications that we've worked on have associated manual tasks such as:

  • checking log files for errors
  • running queries and emailing out the results
  • consolidate files from various systems for batch upload

Due to resource and budget constraints, these tasks never get automated. Rather, they tend to get delegated to Plebs. The lower you are in the team, the more likely it is that you will perform these tasks.

Plebify aims to be your virtual pleb.

For example:

  1. Scan a directory for log files and email it to you if the file contains the word "error".
  2. When a new record is added to a products database table, send email notifications to product managers and add an entry to a new products RSS feed.
  3. When an email arrives containing an order form, add it to the orders database table.

Quick Install

  • Install Java 7.
  • Download Plebify
  • Unzip into ~/plebify (for example)
  • Configure
    • Edit ~/plebify/config/application.conf.

      See examples in ~/plebify/examples for inspiration. Step by step walkthrough instructions are contained within each example .conf file.

      • http-broadcast.application.conf

        Broadcast HTTP requests to: other HTTP endpoints, a websocket server, an email account and also to the file system.

      • db-sink.application.conf

        Pick up data from a web server, the file system and an email server; and write it into a database table.

      • file-copy.application.conf

        Move files from /tmp/dir1 to /tmp/dir2

    • Review logging configuration in ~/plebify/config/logback.xml.
      • By default, Plebify output to stdout and a file in the ~/plebify/logs directory
      • To change, refer to Logback documentation.
  • Run
    • cd ~/plebify/bin
    • ./start for unix or ./start.bat for windows.

Road Map

We would consider Plebify as being in "alpha" and usable for non-critical purposes.

Currently, Plebify is only customisable via its configuration files. It is envisaged that, eventually, a web based configuration will be available. Changes will take effect immediately and Plebify will not have to be restarted.

Currently, Plebify only supports system integration via HTTP, Web Sockets, file system and email. We will be adding more connectors.

Currently, it only supports basic templating when converting data to text. We will add a better templating engine.

If you got an idea for an improvement or found a bug, please let us know by opening a ticket; or better still, send us a pull request.

plebify's People

Contributors

veebs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.