Carotte is a very lightweight Celery on zmq
Project description
Carotte is a very lightweight Celery on zmq.
Install
pip install carotte
Getting started
Create your app.py:
from carotte import Carotte
my_app = Carotte()
@my_app.task
def hello_world(name):
return 'Hello %s!' % name
Run your worker (default on “tcp://127.0.0.1:5550”):
carotte worker --app app:my_app
Run tasks:
>>> from app import hello_world >>> t = hello_world.delay(['Carotte']) >>> t.success >>> True >>> t.result >>> 'Hello Carotte!'
Or run a client (if don’t have tasks on your system):
>>> from carotte import Client
>>> client = Client()
>>> task = client.run_task('hello_world', ['Carotte'])
>>> task.success
>>> True
>>> task.result
>>> 'Hello Carotte!'
Scheduled tasks
Carotte is not a scheduler, its an asynchronous tasks runner. But you can really set up scheduled tasks with schedule.
Your app.py:
import requests
from carotte import Carotte
my_app = Carotte()
@app.task
def get(url):
r = requests.get(url)
if r.status_code != 200:
# Do stuff
return False
return True
Your scheduler.py:
import time
import schedule
from app import get
schedule.every(10).seconds.do(get, 'http://google.com')
while True:
schedule.run_pending()
time.sleep(1)
Run your worker and your scheduler:
carotte worker --app app:my_app python scheduler.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
carotte-0.2.2.tar.gz
(9.1 kB
view details)
File details
Details for the file carotte-0.2.2.tar.gz.
File metadata
- Download URL: carotte-0.2.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5acf330a019d9495e4b1f96d7fef5b3504b0e73682d1e9471ab2cd5010c2473
|
|
| MD5 |
fdbe6cdd6b7e275190bacb6b40545a7c
|
|
| BLAKE2b-256 |
57d892c98119f568f4f934f5d0d94df84338d3270155f8481bc4122c0f216ffb
|