summaryrefslogtreecommitdiff
path: root/tests/queue.py
diff options
context:
space:
mode:
authorroberto@debian32 <roberto@debian32>2011-08-18 09:46:32 +0200
committerroberto@debian32 <roberto@debian32>2011-08-18 09:46:32 +0200
commit0f31c21f4ae37d5d5c3667b4c5927196530d5642 (patch)
treea5c2eb4d55af2585fd46786abe31f89f4d952642 /tests/queue.py
parentbd3e234703cc26a0081b8f4ec031ddb4dc8c5e6a (diff)
downloaduwsgi-0f31c21f4ae37d5d5c3667b4c5927196530d5642.tar.gz
completed queue subsystem with test
Diffstat (limited to 'tests/queue.py')
-rw-r--r--tests/queue.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/queue.py b/tests/queue.py
new file mode 100644
index 00000000..f7332ae2
--- /dev/null
+++ b/tests/queue.py
@@ -0,0 +1,48 @@
+# uwsgi --queue 10 --queue-store test.queue --master --module tests.queue --socket :3031
+
+import uwsgi
+import os
+from flask import Flask,render_template,request,redirect,flash
+
+app = Flask(__name__)
+app.debug = True
+app.secret_key = os.urandom(24)
+
+@app.route('/')
+def index():
+
+ return render_template('queue.html', uwsgi=uwsgi)
+
+@app.route('/push', methods=['POST'])
+def push_item():
+ if uwsgi.queue_push(request.form['body']):
+ flash('item enqueued')
+ return redirect('/')
+ else:
+ flash('unable to enqueue item')
+ return render_template('queue.html', uwsgi=uwsgi)
+
+@app.route('/get', methods=['POST'])
+def get_item():
+ flash( "slot %s value = %s" % (request.form['slot'], uwsgi.queue_get( int(request.form['slot']) )))
+ return redirect('/')
+
+@app.route('/pop', methods=['POST'])
+def pop_item():
+ flash( "popped value = %s" % uwsgi.queue_pop() )
+ return redirect('/')
+
+@app.route('/pull', methods=['POST'])
+def pull_item():
+ flash( "pulled value = %s" % uwsgi.queue_pull() )
+ return redirect('/')
+
+
+@app.route('/set', methods=['POST'])
+def set_item():
+ if uwsgi.queue_set(int(request.form['pos']), request.form['body']):
+ flash('item set')
+ return redirect('/')
+ else:
+ flash('unable to set item')
+ return render_template('queue.html', uwsgi=uwsgi)