From ce5a1dfe98a3750364182e55973bacc07f812572 Mon Sep 17 00:00:00 2001 From: Kyle Mahan Date: Sat, 14 Mar 2015 20:00:19 +0000 Subject: [PATCH] move uwsgi timers call to its own module; it can't live under tasks because rqworker can't import the uwsgi module --- timers.py | 7 +++++++ woodwind.ini | 4 ++-- woodwind/tasks.py | 4 +--- 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 timers.py diff --git a/timers.py b/timers.py new file mode 100644 index 0000000..2e9d7ad --- /dev/null +++ b/timers.py @@ -0,0 +1,7 @@ +from uwsgidecorators import timer +from woodwind import tasks + + +@timer(300) +def tick(signum=None): + tasks.q.enqueue(tasks.tick) diff --git a/woodwind.ini b/woodwind.ini index 7feaaad..7807bba 100644 --- a/woodwind.ini +++ b/woodwind.ini @@ -5,5 +5,5 @@ threads=4 socket=/tmp/woodwind.sock chmod-socket=666 module=woodwind.wsgi -attach-daemon=rqworker -import=woodwind.tasks \ No newline at end of file +import=timers +attach-daemon=venv/bin/rqworker \ No newline at end of file diff --git a/woodwind/tasks.py b/woodwind/tasks.py index 9d818fc..ccdf48e 100644 --- a/woodwind/tasks.py +++ b/woodwind/tasks.py @@ -1,7 +1,6 @@ from config import Config from contextlib import contextmanager from redis import StrictRedis -from uwsgidecorators import timer from woodwind.models import Feed, Entry import bs4 import datetime @@ -45,8 +44,7 @@ def session_scope(): session.close() -@timer(300) -def tick(signum=None): +def tick(): """Checks all feeds to see if any of them are ready for an update. Makes use of uWSGI timers to run every 5 minutes, without needing a separate process to fire ticks.