Exemplo n.º 1
0
def ping(update: Update, context):
    ping_time = datetime.now(timezone.utc) - update.message.date
    send_time = datetime.now(timezone.utc)
    message = update.message.reply_text(
        (monitor.get_monitor(context.bot.username) + "\n\n" if update.effective_user.id == constants.RENYHP else "") +
        f"Time to receive your message: {format_timedelta(ping_time)}")
    ping_time = datetime.now(timezone.utc) - send_time
    message.edit_text(f"{message.text}\nTime to send this message: {format_timedelta(ping_time)}")
Exemplo n.º 2
0
 def on_open(self):
     """
     On socket open callback
     """
     mon = get_monitor()
     while True:
         self.ws.send("%.1f %.1f %.1f %.1f %.1f" %
                      (mon.CO2, mon.temp, mon.hum, mon.eCO2, mon.TVOC))
         gevent.sleep(0.05)
Exemplo n.º 3
0
 def __init__(self, filename):
     self._mon = get_monitor()
     self._filename = filename
     self._write_header()
Exemplo n.º 4
0
#!/usr/bin/env python

from monitor import get_monitor
from storage import get_storage
from auditor import get_auditor
from downloader import get_downloader

if __name__ == "__main__":
	monitor = get_monitor()
	storage = get_storage()
	auditor = get_auditor()
	downloader = get_downloader()

	entries = monitor.poll()
	to_process = storage.filter_entries(entries)
	for entry in to_process:
		print "To process: ", entry

		components = entry.split(".")
		version = components[2].replace("-", ".")
		tag = components[3]

		downloader.download(tag, version)
		hashes = downloader.hash(tag, version)
		result = auditor.audit(entry, hashes)
		storage.store_entry(entry, result)
		downloader.empty_storage(tag, version)
		print "\n\n"
	storage.save()
Exemplo n.º 5
0
def run(iteration: int, args: argparse.Namespace, experiment_dir: str,
        existing_iters: Set[int], hostname: str) -> Dict or None:
    if iteration in existing_iters:
        log.info('Skipping iteration ' + str(iteration))
        return

    log.info('Iteration ' + str(iteration))
    print('Iteration ' + str(iteration), flush=True)

    db_path = os.path.join(experiment_dir, 'results.sqlite')

    runner = get_runner(args.database[0], iteration, experiment_dir, args,
                        hostname, db_path)
    monitor = get_monitor(args.database[0], args.database_path, iteration,
                          experiment_dir)

    runner.init_db()
    db = None
    try:
        if not runner.serverless:
            runner.start_server()

            monitor.start(args.query)
            runner.run_query(args.query)

            stdout, stderr = runner.query_process.communicate()
            runner.finish_query()

            if len(stdout) == 0:
                stdout = None
            if len(stderr) == 0:
                stderr = None

            runner.server_process.wait()

            monitor.evaluate_query_process(runner.query_process)

            db = ResultsDatabase(db_path, create=False)
            result = db.get_iteration(iteration)
            result.stdout = stdout
            result.stderr = stderr
        else:
            monitor.start(args.query)
            runner.run_query(args.query)

            runner.query_process.wait()
            runner.finish_query()

            db = ResultsDatabase(db_path, create=False)
            result = db.get_iteration(iteration)

        if result is not None:
            monitor.end(result)
            db.commit()

    except Exception as e:
        log.error('Error while running query', exc_info=e)
        if runner.query_process is not None:
            kill_family(runner.query_process.pid, signal.SIGKILL)
        if runner.server_process is not None:
            kill_family(runner.server_process.pid, signal.SIGKILL)

        return None
    finally:
        runner.clean()
        if db is not None:
            db.close()