From 5ec6915a8f955c8ef72165e7392718a0b1f75bfa Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Wed, 19 Feb 2014 09:36:54 +0100 Subject: middleware: add celery section and example celery is a python framework for job execution Signed-off-by: Manuel Traut --- frameworks/middleware/examples/celery/README | 3 ++ frameworks/middleware/examples/celery/exec_task.py | 15 +++++++++ frameworks/middleware/examples/celery/test.py | 36 ++++++++++++++++++++++ frameworks/middleware/examples/celery/worker.sh | 2 ++ 4 files changed, 56 insertions(+) create mode 100644 frameworks/middleware/examples/celery/README create mode 100644 frameworks/middleware/examples/celery/exec_task.py create mode 100755 frameworks/middleware/examples/celery/test.py create mode 100755 frameworks/middleware/examples/celery/worker.sh (limited to 'frameworks/middleware/examples/celery') diff --git a/frameworks/middleware/examples/celery/README b/frameworks/middleware/examples/celery/README new file mode 100644 index 0000000..9045901 --- /dev/null +++ b/frameworks/middleware/examples/celery/README @@ -0,0 +1,3 @@ +apt-get install python-celery +./worker.sh +./test.py diff --git a/frameworks/middleware/examples/celery/exec_task.py b/frameworks/middleware/examples/celery/exec_task.py new file mode 100644 index 0000000..9169250 --- /dev/null +++ b/frameworks/middleware/examples/celery/exec_task.py @@ -0,0 +1,15 @@ +import os + +from celery import Celery + +app = Celery ('tasks', broker='sqla+sqlite:///celerydb.sqlite', + backend='db+sqlite:///results.sqlite') + +@app.task +def execute (command): + return os.system (command) + +@app.task +def execute2 (command): + if os.system (command): + raise Exception ("command not found") diff --git a/frameworks/middleware/examples/celery/test.py b/frameworks/middleware/examples/celery/test.py new file mode 100755 index 0000000..7d79c8e --- /dev/null +++ b/frameworks/middleware/examples/celery/test.py @@ -0,0 +1,36 @@ +#!/usr/bin/python + +import sys +import traceback + +from exec_task import execute, execute2 + +execute.delay ("echo hello world") + +print "\n\n" + +result = execute.delay ("sleep 2") +print "result ready?", result.ready () +print "wait for result..." +ret = result.get (timeout=10) +print "task done", ret + +print "\n\n" + +result = execute.delay ("/bin/false") +print "/bin/false:", result.get (timeout=10) + +print "\n\n" + +result = execute2.delay ("/bin/treu") +try: + print "/bin/treu:", result.get (timeout=10) +except: + print "exception occured; backtrace:" + print result.traceback + +print "\n\n" + +result = execute2.delay ("/bin/true") +print "/bin/true:", result.get (timeout=10) + diff --git a/frameworks/middleware/examples/celery/worker.sh b/frameworks/middleware/examples/celery/worker.sh new file mode 100755 index 0000000..1705198 --- /dev/null +++ b/frameworks/middleware/examples/celery/worker.sh @@ -0,0 +1,2 @@ +#!/bin/sh +celery -A exec_task worker --loglevel=info -- cgit v1.2.3