First version working in flask_stop. Add_hashtag and remove hashtags methods seem to work ok

This commit is contained in:
Julien Lengrand-Lambert
2013-02-17 15:31:21 +01:00
parent 470a56e911
commit 913e1fde1b
5 changed files with 46 additions and 40 deletions

View File

@@ -14,16 +14,4 @@ def run():
app.run() app.run()
if __name__ == '__main__': if __name__ == '__main__':
app.debug = True app.run()
print "starting process"
server = Process(target=run)
server.start()
print "sleeping"
time.sleep(5)
print "ending process"
server.terminate()
server.join()
print "bye..."

View File

@@ -9,7 +9,6 @@ import sys
import data import data
from counter import Counter
from streamer import HashtagLogger from streamer import HashtagLogger

View File

@@ -10,12 +10,6 @@ from datamodel import TrendyHashtag
from datamodel import Tweet from datamodel import Tweet
from datamodel import Member from datamodel import Member
from streamer import HashtagLogger
import signal
import sys
def connect(): def connect():
""" """
@@ -64,24 +58,5 @@ def add_hashtag():
def index(): def index():
return render_template('statistics.html') return render_template('statistics.html')
class Twiderboard():
def __init__(self):
# registering the signal to stop command line
signal.signal(signal.SIGINT, self.stop_handler)
print "Starting streamer"
self.h = HashtagLogger(data.engine_url, oauth=data.oauth)
self.h.start()
app.run()
def stop_handler(self, signal, frame):
print "Stopping Streamer"
self.h.stop()
print "Stopping Command Line"
sys.exit(0)
if __name__ == '__main__': if __name__ == '__main__':
Twiderboard() app.run()

40
twiderboard/flask_stop.py Normal file
View File

@@ -0,0 +1,40 @@
from flask import Flask
from streamer import HashtagLogger
import data
from flask import g
app = Flask(__name__)
h = HashtagLogger(data.engine_url, oauth=data.oauth)
h.start()
@app.route('/')
def index():
return "Hi there!!!"
@app.route('/add_hashtag')
def add_hashtag():
hashtag = h.add_hashtag('plop')
return hashtag
@app.route('/remove_hashtag')
def remove_hashtag():
hashtag = h.remove_hashtag('plop')
return hashtag
@app.route('/stop')
def stop():
h.stop()
return h.stream.engine
def run():
app.run()
if __name__ == '__main__':
app.run(debug=True)

View File

@@ -286,6 +286,8 @@ class HashtagLogger():
self.restart() self.restart()
engine.dispose() engine.dispose()
return hashtag
def commit_hashtag(self, session): def commit_hashtag(self, session):
""" """
Takes care of errors that can happen if database if locked when session is commited Takes care of errors that can happen if database if locked when session is commited
@@ -325,6 +327,8 @@ class HashtagLogger():
self.restart() self.restart()
engine.dispose() engine.dispose()
return hashtag
def connect(self): def connect(self):
""" """
Separated so that the method can be run in each created thread. Separated so that the method can be run in each created thread.