Code Monkey home page Code Monkey logo

minion's Introduction

Minion

Minion is a framework for running tasks via the CLI.

The system is inspired by ruckusing, which had a nice system for defining tasks but lacked the desired flexibility for kohana integration.

Getting Started

First off, download and enable the module in your bootstrap

Then copy the bash script minion alongside your index.php (most likely the webroot). If you'd rather the executable be in a different location to index.php then simply modify the bash script to point to index.php.

You can then run minion like so:

./minion {task}

To view a list of minion tasks, run minion without any parameters, or with the --help option

./minion
./minion --help

To view help for a specific minion task run

./minion {task} --help

For security reasons Minion will only run from the cli. Attempting to access it over http will cause a Kohana_Exception to be thrown.

If you're unable to use the binary file for whatever reason then simply replace ./minion {task} in the above examples with

php index.php --uri=minion --task={task}

Writing your own tasks

All minion tasks must be located in classes/task/. They can be in any module, thus allowing you to ship custom minion tasks with your own module / product.

Each task must extend the abstract class Minion_Task and implement Minion_Task::_execute().

See Minion_Task for more details.

Documentation

Code should be commented well enough not to need documentation, and minion can extract a class' doccomment to use as documentation on the cli.

Testing

This module is unittested using the unittest module. You can use the minion group to only run minion tests.

i.e.

phpunit --group minion

Feel free to contribute tests(!), they can be found in the tests/minion directory. :)

License

This is licensed under the same license as Kohana.

minion's People

Contributors

brmatt avatar zeelot avatar zombor avatar kiall avatar biakaveron avatar ahutchings avatar alexeyco avatar bobeagan avatar kemo avatar

Watchers

James Cloos 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.