summaryrefslogtreecommitdiff
path: root/frameworks/middleware/examples/celery
diff options
context:
space:
mode:
Diffstat (limited to 'frameworks/middleware/examples/celery')
-rw-r--r--frameworks/middleware/examples/celery/README3
-rw-r--r--frameworks/middleware/examples/celery/exec_task.py15
-rwxr-xr-xframeworks/middleware/examples/celery/test.py36
-rwxr-xr-xframeworks/middleware/examples/celery/worker.sh2
4 files changed, 56 insertions, 0 deletions
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