Finish implementing notification rules
This commit is contained in:
0
core/management/__init__.py
Normal file
0
core/management/__init__.py
Normal file
0
core/management/commands/__init__.py
Normal file
0
core/management/commands/__init__.py
Normal file
22
core/management/commands/processing.py
Normal file
22
core/management/commands/processing.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from django.core.management.base import BaseCommand, CommandError
|
||||
from redis import StrictRedis
|
||||
from core.util import logs
|
||||
from core.lib.rules import process_rules
|
||||
import msgpack
|
||||
|
||||
log = logs.get_logger("processing")
|
||||
|
||||
class Command(BaseCommand):
|
||||
def handle(self, *args, **options):
|
||||
r = StrictRedis(unix_socket_path="/var/run/socks/redis.sock", db=0)
|
||||
p = r.pubsub()
|
||||
p.psubscribe("messages")
|
||||
for message in p.listen():
|
||||
if message:
|
||||
if message["channel"] == b"messages":
|
||||
data = message["data"]
|
||||
try:
|
||||
unpacked = msgpack.unpackb(data, raw=False)
|
||||
except TypeError:
|
||||
continue
|
||||
process_rules(unpacked)
|
||||
Reference in New Issue
Block a user