Celery TestStar
Project Description
Celery TestStar
=============
TestStar is based on Mher's Flower but extends the functionality to scheduled automated test suites
Features
--------
- Scheduled automated python test suites
- Across multiple celery workers
- Broker is RabbitMQ
- Real-time monitoring using Celery Events
- Task progress and history
- Ability to show task details (arguments, start time, runtime, and more)
- Graphs and statistics
- Remote Control
- View worker status and statistics
- Shutdown and restart worker instances
- Control worker pool size and autoscale settings
- View and modify the queues a worker instance consumes from
- View currently running tasks
- View scheduled tasks (ETA/countdown)
- View reserved and revoked tasks
- Apply time and rate limits
- Configuration viewer
- Revoke or terminate tasks
- Broker monitoring
- View statistics for all Celery queues
- Queue length graphs
- HTTP API
- Basic Auth and Google OpenID authentication
API
---
Flower API enables to manage the cluster via REST api, call tasks and receive task
events in real-time via WebSockets.
For example you can schedule a deployment of packages: ::
$ curl -X POST http://localhost:8888/api/deploy/package/myworker
Or restart worker's pool by: ::
$ curl -X POST http://localhost:8888/api/worker/pool/restart/myworker
Or call a task by: ::
$ curl -X POST -d '{"args":[1,2]}' http://localhost:8888/api/task/async-apply/tasks.add
Or terminate executing task by: ::
$ curl -X POST -d 'terminate=True' http://localhost:8888/api/task/revoke/8a4da87b-e12b-4547-b89a-e92e4d1f8efd
Or receive task completion events in real-time: ::
var ws = new WebSocket('ws://localhost:8888/api/task/events/task-succeeded/');
ws.onmessage = function (event) {
console.log(event.data);
}
Installation
------------
To install, simply: ::
$ pip install teststar
Usage
-----
Launch the server and open http://localhost:8888: ::
$ teststar --port=8888
Or launch from celery: ::
$ celery teststar --address=127.0.0.1 --port=8888
Broker URL and other configuration options can be passed through the standard Celery options: ::
$ celery teststar --broker=amqp://guest:guest@localhost:5672//
$ celery teststar --broker_url=amqp://guest:guest@localhost:5672// --broker_api=http://guest:guest@localhost:55672/api/
Screenshots
-----------
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/dashboard.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/docs/screenshots/pool.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/tasks.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/task.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/monitor.png
:width: 800px
More screenshots_
.. _screenshots: https://github.com/mdaloia/teststar/tree/master/docs/screenshots
Getting help
------------
Please head over to #celery IRC channel on irc.freenode.net or
`open an issue`_.
.. _open an issue: https://github.com/mher/flower/issues
=============
TestStar is based on Mher's Flower but extends the functionality to scheduled automated test suites
Features
--------
- Scheduled automated python test suites
- Across multiple celery workers
- Broker is RabbitMQ
- Real-time monitoring using Celery Events
- Task progress and history
- Ability to show task details (arguments, start time, runtime, and more)
- Graphs and statistics
- Remote Control
- View worker status and statistics
- Shutdown and restart worker instances
- Control worker pool size and autoscale settings
- View and modify the queues a worker instance consumes from
- View currently running tasks
- View scheduled tasks (ETA/countdown)
- View reserved and revoked tasks
- Apply time and rate limits
- Configuration viewer
- Revoke or terminate tasks
- Broker monitoring
- View statistics for all Celery queues
- Queue length graphs
- HTTP API
- Basic Auth and Google OpenID authentication
API
---
Flower API enables to manage the cluster via REST api, call tasks and receive task
events in real-time via WebSockets.
For example you can schedule a deployment of packages: ::
$ curl -X POST http://localhost:8888/api/deploy/package/myworker
Or restart worker's pool by: ::
$ curl -X POST http://localhost:8888/api/worker/pool/restart/myworker
Or call a task by: ::
$ curl -X POST -d '{"args":[1,2]}' http://localhost:8888/api/task/async-apply/tasks.add
Or terminate executing task by: ::
$ curl -X POST -d 'terminate=True' http://localhost:8888/api/task/revoke/8a4da87b-e12b-4547-b89a-e92e4d1f8efd
Or receive task completion events in real-time: ::
var ws = new WebSocket('ws://localhost:8888/api/task/events/task-succeeded/');
ws.onmessage = function (event) {
console.log(event.data);
}
Installation
------------
To install, simply: ::
$ pip install teststar
Usage
-----
Launch the server and open http://localhost:8888: ::
$ teststar --port=8888
Or launch from celery: ::
$ celery teststar --address=127.0.0.1 --port=8888
Broker URL and other configuration options can be passed through the standard Celery options: ::
$ celery teststar --broker=amqp://guest:guest@localhost:5672//
$ celery teststar --broker_url=amqp://guest:guest@localhost:5672// --broker_api=http://guest:guest@localhost:55672/api/
Screenshots
-----------
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/dashboard.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/docs/screenshots/pool.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/tasks.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/task.png
:width: 800px
.. image:: https://raw.github.com/mdaloia/teststar/master/docs/screenshots/monitor.png
:width: 800px
More screenshots_
.. _screenshots: https://github.com/mdaloia/teststar/tree/master/docs/screenshots
Getting help
------------
Please head over to #celery IRC channel on irc.freenode.net or
`open an issue`_.
.. _open an issue: https://github.com/mher/flower/issues
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
teststar-0.1.6.tar.gz (293.2 kB) Copy SHA256 hash SHA256 | Egg | 2.7 | Sep 20, 2013 |