Skip to main content
Help us improve Python packaging – donate today!

A controllable timing task widgets with Celery.

Project Description

celery-task-tigger
====

[![release](https://img.shields.io/badge/release-0.3-blue.svg)]()
[![license](https://img.shields.io/badge/license-MIT-blue.svg)]()
[![celery](https://img.shields.io/badge/celery-3%7C4-brightgreen.svg)]()


A controllable timing task widgets with Celery

## About

As is known to all, Celery have a already provides periodic task and it's very perfit. But, Assume this case: After my task was called, I hope it's task can frequency of execution, and when celery task was started.

The above case, Periodic task is hard to practice, Becacuse it's depend on celery beat. ``celery-task-tigger`` do it over simple packaging or implement for solution to do it.


## Installation

~~~python
pip install celery-task-tigger

~~~

## Useage

Assume you have aleady install celery and can do it.

### Bases

Option `max_times` is must be appoint.

~~~python
from celery_tasktigger.decorator import tigger_task

@app.task(bind=True)
@tigger_task(max_times='forever') # forever is expressed unlimited time
def add(self, x, y):
return x + y

~~~

### max_times

Option `max_times`: The maximum number of execute the task times.

Type: ***int***

> Note: The value ***'forever'*** is expressed unlimited time.

Example:

~~~python
@app.task(bind=True)
@tigger_task(max_times=3) # after execute 3 times, raise an exception
def add(self, x, y):
return x + y

~~~

### countdown

Option `countdown`: You can also provide the countdown argument to execute.

Type: ***int***

Default: 1 (seconds)

Example:

~~~python
@app.task(bind=True)
@tigger_task(max_times='forever', countdown=3) # each execute in 3 seconds
def add(self, x, y):
return x + y

~~~

## How To Calling Task

~~~~python
>> from example import add
>> add.apply_async((1,2))
~~~~

you can also delayed execute task, as follow:

~~~~python
>> from example import add
>> add.apply_async((1,2), countdown=4) # after 4 seconds, begin start task
~~~~

> About Celery Task, Please see below for details:
> [Celery Calling-Tasks Document](http://docs.jinkan.org/docs/celery/userguide/calling.html)

## How To Stop

if you appoint `max_times='forever'` or provides the bigger values of max_times, you must stop it in programe.

~~~~python
>> result = add.apply_async((1,2))
>> result.revoke()
or
>> from mycelery import app
>> app.control.revoke('task_id')
~~~~

> See below for details:
> [Celery Document——FAQ](http://docs.jinkan.org/docs/celery/faq.html#can-i-cancel-the-execution-of-a-task)

## Some screenshots

![](http://i1.piimg.com/536217/1ae9af3a274de4c7.gif)

## Features

- 100% full compatible with Celery

- the frequency of execution for task

- ...and many other stuff (o,0)


## Author

- Boyle Gu

Release history Release notifications

This version
History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

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
celery-task-tigger-0.4.tar.gz (4.2 kB) Copy SHA256 hash SHA256 Source None May 11, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page