예제 #1
0
 def __init__(self):
     self.__metadata_storage = MetadataStorage()
     self.__specification_handler = SpecificationHandler()
     self.__publisher = rospy.Publisher('/statistics_rated',
                                        arni_msgs.msg.RatedStatistics,
                                        queue_size=50)
     self.__master_api_publisher = rospy.Publisher('/statistics_master',
                                                   arni_msgs.msg.MasterApi,
                                                   queue_size=10)
     self.__pub_queue = []
     self.__master_api_queue = []
     self.__aggregate = []
     self.__aggregation_window = rospy.get_param("~aggregation_window", 3)
     self.__aggregate_start = rospy.Time.now()
     self.__processing_enabled = rospy.get_param("/enable_statistics",
                                                 False)
     self.__alive_timers = {}
     self.__alive_countdown = {}
     rospy.Timer(rospy.Duration(rospy.get_param("~publish_interval", 5)),
                 self.__publish_queue)
     rospy.Timer(rospy.Duration(rospy.get_param("~alive_interval", 5)),
                 self.__check_alive)
     rospy.Timer(
         rospy.Duration(rospy.get_param("~master_api_publish_interval", 1)),
         self.__pollMasterAPI)
     rospy.Timer(
         rospy.Duration(rospy.get_param("/arni/check_enabled_interval",
                                        10)), self.__update_enabled)
예제 #2
0
def command_line_runner():
    parser = get_parser()
    args = vars(parser.parse_args())
    port = args['port']
    global app
    if args["w"]:
        app = app.create_app()
        t1 = threading.Thread(target=app.run, args=('0.0.0.0', port))
        t1.start()
    elif args["m"]:
        me = MetadataStorage(60)
        me.init_index()
        t2 = threading.Thread(target=me.start)
        t2.start()
    elif args["a"]:
        me = MetadataStorage(60)
        me.init_index()
        t2 = threading.Thread(target=me.start)
        t2.start()

        apps = app.create_app()
        t1 = threading.Thread(target=apps.run, args=('0.0.0.0', port))
        t1.start()
예제 #3
0
import datetime
import logging
import os

import boto3
import dotenv
import flask
import requests

from aws_client import Client
from metadata_storage import MetadataStorage

app = flask.Flask(__name__)
app.config['DEBUG'] = True
dotenv.load_dotenv()
metadata_store = MetadataStorage(debug_mode=True)
LOG = flask.logging.create_logger(app)


def get_timestamp():
    current_datetime = datetime.datetime.now()
    timestamp = str(current_datetime)
    return timestamp


@app.before_first_request
def before_first_request():
    log_level = logging.INFO
    root = os.path.dirname(os.path.abspath(__file__))
    log_directory = os.path.join(root, 'logs')
    if not os.path.exists(log_directory):