diff options
author | Matt Hart <matthew.hart@linaro.org> | 2015-08-06 14:17:18 +0100 |
---|---|---|
committer | Matt Hart <matthew.hart@linaro.org> | 2015-08-06 14:20:59 +0100 |
commit | 07f56a0c99e44b5f3b08b6dfcf46d92fc80d61e7 (patch) | |
tree | 9f24dcdd728cb3611e7e9949af237753e53842ef | |
parent | d4a09982030b1b3941744c5c18ea296041568505 (diff) |
Add --purge option to lavapdu-listen
The --purge option will clear the request queue and exit
Change-Id: Iace0b13abf38ef7529ec2e7c4cc0e0147212af4f
-rwxr-xr-x | lavapdu-listen | 3 | ||||
-rw-r--r-- | lavapdu/dbhandler.py | 5 | ||||
-rw-r--r-- | lavapdu/socketserver.py | 6 |
3 files changed, 14 insertions, 0 deletions
diff --git a/lavapdu-listen b/lavapdu-listen index be887a0..ec820ba 100755 --- a/lavapdu-listen +++ b/lavapdu-listen @@ -47,6 +47,7 @@ if __name__ == '__main__': type="string", help="log file [%s]" % logfile) parser.add_option("--loglevel", dest="loglevel", action="store", type="string", help="logging level [INFO]") + parser.add_option("--purge", dest="purge", action="store_true") (options, args) = parser.parse_args() if options.logfile: if os.path.exists(os.path.dirname(options.logfile)): @@ -83,6 +84,8 @@ if __name__ == '__main__': files_preserve=[watched_file_handler.stream], stderr=watched_file_handler.stream, stdout=watched_file_handler.stream) + if options.purge: + settings["purge"] = True with context: logging.info("Running LAVA PDU Listener %s %s %d." % (logfile, diff --git a/lavapdu/dbhandler.py b/lavapdu/dbhandler.py index 5526e1b..cc9e783 100644 --- a/lavapdu/dbhandler.py +++ b/lavapdu/dbhandler.py @@ -71,6 +71,11 @@ class DBHandler(object): def get_res(self, sql): return self.cursor.execute(sql) + def purge(self): + log.debug("Purging all jobs from database") + self.do_sql("delete from pdu_queue") + self.close() + def get_next_job(self, single_pdu=False): now = int(time.time()) extra_sql = "" diff --git a/lavapdu/socketserver.py b/lavapdu/socketserver.py index 2d93367..b5c5668 100644 --- a/lavapdu/socketserver.py +++ b/lavapdu/socketserver.py @@ -22,6 +22,8 @@ import SocketServer import logging import socket import time +import sys +import os from lavapdu.dbhandler import DBHandler from lavapdu.shared import drivername_from_hostname log = logging.getLogger(__name__) @@ -35,6 +37,9 @@ class ListenerServer(object): listen_host = settings["hostname"] listen_port = settings["port"] log.debug("ListenerServer __init__") + if "purge" in config: + self.server.dbh.purge() + sys.exit(os.EX_OK) log.info("listening on %s:%s", listen_host, listen_port) self.server = TCPServer((listen_host, listen_port), TCPRequestHandler) @@ -42,6 +47,7 @@ class ListenerServer(object): self.server.config = config self.server.dbh = DBHandler(settings) + def start(self): log.info("Starting the ListenerServer") self.server.serve_forever() |