class f2bPublisherDaemon(daemon):
	def __sigTERMhandler(self,signum,frame):
		syslog.syslog("fail2ban-zmq-tools Publisher: Caught signal %d. Initiating shutdown..." % signum)
		self.quit()

	def run(self):
		syslog.syslog("fail2ban-zmq-tools Publisher starting")
		signal.signal(signal.SIGTERM,self.__sigTERMhandler)
		signal.signal(signal.SIGINT,self.__sigTERMhandler)
		self.publisher = Publisher(publisherconfig=publisherconfig)
		self.publisher.start()
		syslog.syslog("fail2ban-zmq-tools Publisher running. Main process waiting for termination signal. Threads working.")
		signal.pause()
		syslog.syslog("fail2ban-zmq-tools Publisher exiting.")
		
	def quit(self):
		signal.signal(signal.SIGTERM,signal.SIG_IGN)
		syslog.syslog("fail2ban-zmq-tools Publisher: Stopping threads...")
		self.publisher.join()
		syslog.syslog("fail2ban-zmq-tools Publisher says Bye")
Exemple #2
0
SOURCE = 1
PORT = "5555"
TOPIC = "obstacle_detector"
FRAME_SIZE = (960, 640)

streamer = Streamer(SOURCE)
streamer.start()

visualizer = Visualizer(streamer.frame)
visualizer.start()

detector = Detector(streamer.frame)
detector.start()

publisher = Publisher(port=PORT, topic=TOPIC)
publisher.start()

while True:
    if streamer.is_stopped or visualizer.is_stopped:
        streamer.stop()
        visualizer.stop()
        detector.stop()
        publisher.stop()
        break

    # get frame from streamer
    frame, frame_timestamp = streamer.get_frame_and_timestamp
    # resize frame to yolov3.cfg input size
    resized = cv2.resize(frame, FRAME_SIZE)

    # update frame and frame timestamp in detector
Exemple #3
0
# -*- coding: utf-8 -*-
from publisher import Publisher
import sys,signal
import time
import os
import random
def sigint_handler(signum,frame):
    print("main-thread exit")
    global publish
    publish.stop()
    sys.exit()

if __name__ == '__main__':
    signal.signal(signal.SIGINT, sigint_handler)
    publish = Publisher("tcp://127.0.0.1:12347")
    publish.start()


    path_exp = os.path.expanduser('../samples')
    classes = [path for path in os.listdir(path_exp) \
               if os.path.isdir(os.path.join(path_exp, path))]
    classes.sort()
    nrof_classes = len(classes)

    while True:
        i = random.randint(0,nrof_classes-1)
        class_name = classes[i]
        facedir = os.path.join(path_exp, class_name)
        publish.yolomsg.InsertYoloMsg(facedir)
        time.sleep(1)
import time
from broker_connection import Config
from publisher import Publisher


def publish_loop(publisher):
    publish_val = 0
    while True:
        try:
            publisher.publish(publish_val)
            publish_val += 1
        except IOError:
            return
        time.sleep(1)

uuid = 'publisheruuid1'
config = Config('127.0.0.1', 4444, '127.0.0.1', 5505)
simple_publisher = Publisher(uuid, publish_loop, config)
simple_publisher.add_metadata({'Room': '410'})
simple_publisher.start()

time.sleep(60)
Exemple #5
0
from eventChannel import EventChannel
from publisher import Publisher
from subscriber import Subscriber

if __name__ == '__main__':
    eventChannel = EventChannel()
    producer = Publisher(eventChannel)
    subscriber = Subscriber()
    eventChannel.subscribe(subscriber)

    producer.start()
    subscriber.start()
    eventChannel.start()