• Stars
    star
    113
  • Rank 309,163 (Top 7 %)
  • Language
    PHP
  • Created almost 14 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Everyone loves having a minion they can boss around

Minion

ver Stable Develop
3.3.x Build Status - 3.3/master Build Status - 3.3/develop
3.4.x Build Status - 3.4/master Build Status - 3.4/develop

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.

More Repositories

1

kohana

Basic application with official modules included
PHP
1,545
star
2

core

Core system classes from Kohana
PHP
635
star
3

userguide

Kohana user guide and live API documentation module
PHP
164
star
4

database

A Kohana module for database interactions, building queries, and prepared statements
PHP
159
star
5

orm

Kohana ORM
PHP
159
star
6

unittest

PHPUnit integration for Kohana
PHP
111
star
7

auth

Auth module for Kohana v3
PHP
103
star
8

image

A Kohana module for manipulating images
PHP
103
star
9

cache

Cache library for Kohana 3
PHP
78
star
10

kohanaframework.org

Kohana Framework main website
PHP
65
star
11

coding-standards

PHPCS rules for the Kohana framework
PHP
58
star
12

ohanzee-helpers

PHP
56
star
13

codebench

A benchmarking module for Kohana 3.x
PHP
32
star
14

Kohana.tmbundle

A TextMate bundle for Kohana v3
30
star
15

ohanzee

Website for Ohanzee project
CSS
15
star
16

cascading-filesystem

A virtual filesystem formed from merging multiple directories
PHP
13
star
17

ohanzee-router

Router component for Ohanzee
9
star
18

kohana-ci

kohana-ci
Shell
8
star
19

kohana.github.com

Github user page for Kohana PHP Framework
PHP
7
star
20

ohanzee-request

Ohanzee component for HTTP Request and Response wrapping
7
star
21

kohana2

Archive repo for Kohana2 framework - NOT MAINTAINED
PHP
7
star
22

Kohana-Redmine

Kohana's Redmine changes
Ruby
6
star
23

koharness

Create test harnesses for Kohana modules by building a clean application container with all dependencies
PHP
5
star
24

ohanzee-db

Ohanzee database component
PHP
3
star
25

doctrine

Doctrine integration for Kohana
PHP
3
star
26

chef-redmine

Redmine Recipe for Kohana
Ruby
2
star
27

vanilla-theme-kohana

Kohana's Vanilla Theme
PHP
1
star