<commit_before># Hooky

Hooky is a RESTful microservice to manage asynchronous tasks in the cloud.

It uses WebHooks to trigger tasks that can be executed immediately or at a regular interval.

Hooky offers similar services as:
 - Google Cloud Task Queue (push mode)
 - Google Cloud Scheduled Tasks
 - Microsoft Azure Scheduler

## Install

Hooky uses MongoDB as its storage backend, by default it expects MongoDB to be running on localhost and will listen on HTTP port 8000.

```
$ go get github.com/sebest/hooky/cmd/hookyd
$ hookyd
```

## Features

- [x] RESTful API
- [x] Asynchronous tasks using [Webhooks](http://en.wikipedia.org/wiki/Webhook)
- [x] Tasks can be scheduled with recurrency using a CRON syntax
- [x] Configurable `retry` policy
- [x] Multi-accounts and multi-applicationsc

## RESTful API

The full API specification is [here]( https://raw.githubusercontent.com/sebest/hooky/master/swagger.yml) using the Swagger specification version 2.0.

You can visualize it [here](http://editor.swagger.io/#/edit?import=https://raw.githubusercontent.com/sebest/hooky/master/swagger.yml).

## Tutorial

For this tutorial we will use [httpie](https://github.com/jakubroztocil/httpie).

Hooky uses basic authentication, there is a default `admin` account with a default password that you use to create new accounts.

The default `admin` password is `<PASSWORD>`.

### Create a new account

```<commit_msg>README: fix spelling error<commit_after># Hooky

Hooky is a RESTful microservice to manage asynchronous tasks in the cloud.

It uses WebHooks to trigger tasks that can be executed immediately or at a regular interval.

Hooky offers similar services as:
 - Google Cloud Task Queue (push mode)
 - Google Cloud Scheduled Tasks
 - Microsoft Azure Scheduler

## Install

Hooky uses MongoDB as its storage backend, by default it expects MongoDB to be running on localhost and will listen on HTTP port 8000.

```
$ go get github.com/sebest/hooky/cmd/hookyd
$ hookyd
```

## Features

- [x] RESTful API
- [x] Asynchronous tasks using [Webhooks](http://en.wikipedia.org/wiki/Webhook)
- [x] Tasks can be scheduled with recurrency using a CRON syntax
- [x] Configurable `retry` policy
- [x] Multi-accounts and multi-applications

## RESTful API

The full API specification is [here]( https://raw.githubusercontent.com/sebest/hooky/master/swagger.yml) using the Swagger specification version 2.0.

You can visualize it [here](http://editor.swagger.io/#/edit?import=https://raw.githubusercontent.com/sebest/hooky/master/swagger.yml).

## Tutorial

For this tutorial we will use [httpie](https://github.com/jakubroztocil/httpie).

Hooky uses basic authentication, there is a default `admin` account with a default password that you use to create new accounts.

The default `admin` password is `<PASSWORD>`.

### Create a new account

```
{'fraction_non_alphanumeric': 0.09491884262526465, 'fraction_numerical': 0.004234297812279464, 'mean_word_length': 4.4103053435114505, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6550403', 'n_tokens_mistral': 874, 'n_tokens_neox': 832, 'n_words': 331}