isso.queue.tasks -> isso.tasks
This commit is contained in:
parent
c9ff66e172
commit
8d2b4b4584
@ -67,7 +67,7 @@ try:
|
|||||||
except ImportError:
|
except ImportError:
|
||||||
uwsgi = None
|
uwsgi = None
|
||||||
|
|
||||||
from isso import cache, config, db, migrate, ext, queue, spam, views, wsgi
|
from isso import cache, config, db, migrate, queue, spam, tasks, views, wsgi
|
||||||
from isso.wsgi import origin, urlsplit
|
from isso.wsgi import origin, urlsplit
|
||||||
from isso.utils import http, JSONRequest, html, hash
|
from isso.utils import http, JSONRequest, html, hash
|
||||||
|
|
||||||
@ -182,8 +182,9 @@ def make_app(conf):
|
|||||||
else:
|
else:
|
||||||
cacheobj = cache.SACache(dbobj, threshold=2048)
|
cacheobj = cache.SACache(dbobj, threshold=2048)
|
||||||
|
|
||||||
jobs = queue.Jobs()
|
jobs = tasks.Jobs()
|
||||||
jobs.register("db-purge", dbobj, conf.getint("moderation", "purge-after"))
|
jobs.register("db-purge", dbobj, conf.getint("moderation", "purge-after"))
|
||||||
|
jobs.register("http-fetch", dbobj)
|
||||||
|
|
||||||
queueobj = queue.Queue(1024)
|
queueobj = queue.Queue(1024)
|
||||||
worker = queue.Worker(queueobj, jobs)
|
worker = queue.Worker(queueobj, jobs)
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
from __future__ import unicode_literals, division
|
from __future__ import unicode_literals, division
|
||||||
|
|
||||||
import abc
|
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import threading
|
import threading
|
||||||
@ -12,13 +11,13 @@ import bisect
|
|||||||
import functools
|
import functools
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import datetime
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import queue
|
import queue
|
||||||
except ImportError:
|
except ImportError:
|
||||||
import Queue as queue
|
import Queue as queue
|
||||||
|
|
||||||
|
from isso.tasks import Cron
|
||||||
from isso.compat import iteritems
|
from isso.compat import iteritems
|
||||||
|
|
||||||
logger = logging.getLogger("isso")
|
logger = logging.getLogger("isso")
|
||||||
@ -189,56 +188,7 @@ class Worker(threading.Thread):
|
|||||||
time.sleep(f * Worker.interval)
|
time.sleep(f * Worker.interval)
|
||||||
|
|
||||||
|
|
||||||
class Task(object):
|
|
||||||
|
|
||||||
__metaclass__ = abc.ABCMeta
|
|
||||||
|
|
||||||
@abc.abstractmethod
|
|
||||||
def run(self, data):
|
|
||||||
return
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def __subclasshook__(cls, subclass):
|
|
||||||
return cls is Cron
|
|
||||||
|
|
||||||
|
|
||||||
class Cron(Task):
|
|
||||||
|
|
||||||
__metaclass__ = abc.ABCMeta
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
self.timedelta = datetime.timedelta(*args, **kwargs)
|
|
||||||
|
|
||||||
def run(self, data):
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
from .tasks import db
|
|
||||||
|
|
||||||
|
|
||||||
class Jobs(dict):
|
|
||||||
"""Obviously a poor man's factory"""
|
|
||||||
|
|
||||||
available = {
|
|
||||||
"db-purge": db.Purge
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
super(Jobs, self).__init__()
|
|
||||||
|
|
||||||
def register(self, name, *args, **kwargs):
|
|
||||||
if name in self:
|
|
||||||
return
|
|
||||||
|
|
||||||
try:
|
|
||||||
cls = Jobs.available[name]
|
|
||||||
except KeyError:
|
|
||||||
raise RuntimeError("No such task '%s'" % name)
|
|
||||||
|
|
||||||
self[name] = cls(*args, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
from .sqlite import SQLite3Queue
|
from .sqlite import SQLite3Queue
|
||||||
|
|
||||||
__all__ = ["Full", "Empty", "Retry", "Timeout", "Message", "Queue", "Targets",
|
__all__ = ["Full", "Empty", "Retry", "Timeout", "Message", "Queue",
|
||||||
"Task", "Cron", "SQLite3Queue"]
|
"SQLite3Queue"]
|
||||||
|
Loading…
Reference in New Issue
Block a user