task_tracker/README.md

47 lines
1.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<a href='https://github.com/jpoles1/gopherbadger' target='_blank'>![gopherbadger-tag-do-not-edit](https://img.shields.io/badge/Go%20Coverage-68%25-brightgreen.svg?longCache=true&style=flat-square)</a>
[![CodeFactor](https://www.codefactor.io/repository/github/simon987/task_tracker/badge)](https://www.codefactor.io/repository/github/simon987/task_tracker)
Fast task tracker (job queue) with authentication, statistics and web frontend
### Documentation
* Go client: [client](https://github.com/simon987/task_tracker/tree/master/client)
* Python client: [task_tracker_drone](https://github.com/simon987/task_tracker_drone)
* API specs: [API_DOCS](API_DOCS.md)
* Installation/Usage: [DOCS](DOCS.md)
### Features
* Stateless/Fault tolerent
* Integrate projects (or queue, tube) with Github/Gogs/Gitea - make workers aware of new commits
* Granular user permissions for administration tasks
* Prioritisable (project-level and task-level)
* Optionnal unique task constraint
* Per-project rate-limitting
* Per-project and per-worker stats monitoring
![image](https://user-images.githubusercontent.com/7120851/55676940-714cf980-58ac-11e9-8f5d-0d76a7afa80d.png)
### Terminology
**task_tracker** | Beanstalkd | Amazon SQS | IronMQ
:---|:---|:---|:---
Project | Tube | Queue | Queue
Task | Job | Message | Message
Recipe | Job data | Message body | Message body
Submit | Put | Send message | POST
Assign | Reserve | Receive message | GET
Release | Delete | Delete message | DELETE
max_assign_time | TTR (time-to-run) | Visibility timeout | Timeout
\- | Delay | Delivery delay | Delay
\- | - | Retention Period | Expires in
### Running tests
```bash
cd test/
go test
```