True up.
This commit is contained in:
@@ -14,8 +14,8 @@ def all_done():
|
||||
storage.close()
|
||||
|
||||
#port = int(sys.argv[1])
|
||||
storage = ZODB.FileStorage.FileStorage('/tmp/tmp_ps_data/data.zopedb')
|
||||
#storage = ZODB.FileStorage.FileStorage('/home/alienhunter/.packetserver/data.zopedb')
|
||||
#storage = ZODB.FileStorage.FileStorage('/tmp/tmp_ps_data/data.zopedb')
|
||||
storage = ZODB.FileStorage.FileStorage('/home/alienhunter/.packetserver/data.zopedb')
|
||||
#db = ZEO.DB(('127.0.0.1',port))
|
||||
db = ZODB.DB(storage)
|
||||
c = db.open()
|
||||
|
||||
@@ -9,7 +9,7 @@ logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
server_callsign = "KQ4PEC"
|
||||
conn_dir = "/tmp/ts_conn_dir"
|
||||
data_dir = "/tmp/tmp_ps_data"
|
||||
#data_dir = "/tmp/tmp_ps_data"
|
||||
|
||||
if os.path.isdir(conn_dir):
|
||||
rmtree(conn_dir)
|
||||
@@ -17,8 +17,7 @@ if os.path.isdir(conn_dir):
|
||||
else:
|
||||
os.mkdir(conn_dir)
|
||||
|
||||
if not os.path.isdir(data_dir):
|
||||
os.mkdir(data_dir)
|
||||
ts = DirectoryTestServer(server_callsign, connection_directory=os.path.abspath(conn_dir),
|
||||
data_dir=os.path.abspath(data_dir), zeo=True)
|
||||
#if not os.path.isdir(data_dir):
|
||||
# os.mkdir(data_dir)
|
||||
ts = DirectoryTestServer(server_callsign, connection_directory=os.path.abspath(conn_dir), zeo=True)
|
||||
ts.start()
|
||||
@@ -112,7 +112,7 @@ class Runner:
|
||||
return False
|
||||
|
||||
def start(self):
|
||||
self.started = datetime.datetime.now()
|
||||
self.started = datetime.datetime.now(datetime.UTC)
|
||||
|
||||
def stop(self):
|
||||
raise RuntimeError("Attempting to stop an abstract class.")
|
||||
|
||||
@@ -244,11 +244,11 @@ class PodmanOrchestrator(Orchestrator):
|
||||
environment=container_env, user="root")
|
||||
con.start()
|
||||
logging.debug(f"Container started for {username} from image {self.opts.image_name}")
|
||||
started_at = datetime.datetime.now()
|
||||
started_at = datetime.datetime.now(datetime.UTC)
|
||||
logging.debug(f"Container state: \n{con.inspect()['State']}")
|
||||
while con.inspect()['State']['Status'] not in ['exited', 'running']:
|
||||
logging.debug("Container state not in ['exited', 'running']")
|
||||
now = datetime.datetime.now()
|
||||
now = datetime.datetime.now(datetime.UTC)
|
||||
if (now - started_at).total_seconds() > 300:
|
||||
con.stop()
|
||||
con.remove()
|
||||
@@ -344,7 +344,7 @@ class PodmanOrchestrator(Orchestrator):
|
||||
|
||||
|
||||
def touch_user_container(self, username: str):
|
||||
self.user_containers[self.get_container_name(username)] = datetime.datetime.now()
|
||||
self.user_containers[self.get_container_name(username)] = datetime.datetime.now(datetime.UTC)
|
||||
|
||||
def start_user_container(self, username: str) -> Container:
|
||||
if not self.podman_user_container_exists(username):
|
||||
@@ -357,7 +357,7 @@ class PodmanOrchestrator(Orchestrator):
|
||||
"""Checks running containers and stops them if they have been running too long."""
|
||||
containers_to_clean = set()
|
||||
for c in self.user_containers:
|
||||
if (datetime.datetime.now() - self.user_containers[c]).total_seconds() > self.opts.container_keepalive:
|
||||
if (datetime.datetime.now(datetime.UTC) - self.user_containers[c]).total_seconds() > self.opts.container_keepalive:
|
||||
logging.debug(f"Container {c} no activity for {self.opts.container_keepalive} seconds. Clearing.")
|
||||
containers_to_clean.add(c)
|
||||
for c in list(containers_to_clean):
|
||||
|
||||
@@ -48,7 +48,7 @@ class Server:
|
||||
self.orchestrator = None
|
||||
self.worker_thread = None
|
||||
self.check_job_queue = True
|
||||
self.last_check_job_queue = datetime.datetime.now()
|
||||
self.last_check_job_queue = datetime.datetime.now(datetime.UTC)
|
||||
self.job_check_interval = 60
|
||||
self.quick_job = False
|
||||
if data_dir:
|
||||
@@ -120,7 +120,7 @@ class Server:
|
||||
|
||||
def ping_job_queue(self):
|
||||
self.check_job_queue = True
|
||||
self.last_check_job_queue = datetime.datetime.now()
|
||||
self.last_check_job_queue = datetime.datetime.now(datetime.UTC)
|
||||
if self.quick_job:
|
||||
logging.debug("Setting the final quick job timer.")
|
||||
self.job_check_interval = 5
|
||||
@@ -220,7 +220,7 @@ class Server:
|
||||
if not self.started:
|
||||
return
|
||||
# Add things to do here:
|
||||
now = datetime.datetime.now()
|
||||
now = datetime.datetime.now(datetime.UTC)
|
||||
if (now - self.last_check_job_queue).total_seconds() > self.job_check_interval:
|
||||
self.ping_job_queue()
|
||||
if (self.orchestrator is not None) and self.orchestrator.started and self.check_job_queue:
|
||||
@@ -239,7 +239,7 @@ class Server:
|
||||
if runner is not None:
|
||||
storage.root.job_queue.remove(jid)
|
||||
job.status = JobStatus.RUNNING
|
||||
job.started_at = datetime.datetime.now()
|
||||
job.started_at = datetime.datetime.now(datetime.UTC)
|
||||
logging.info(f"Started job {job}")
|
||||
else:
|
||||
break
|
||||
|
||||
@@ -67,7 +67,7 @@ class Job(persistent.Persistent):
|
||||
return False
|
||||
if not runner.is_finished():
|
||||
return False
|
||||
job.finished_at = datetime.datetime.now()
|
||||
job.finished_at = datetime.datetime.now(datetime.UTC)
|
||||
job.output = runner.output
|
||||
job.errors = runner.errors
|
||||
job.return_code = runner.return_code
|
||||
@@ -327,8 +327,8 @@ def handle_new_job_post(req: Request, conn: PacketServerConnection, db: ZODB.DB)
|
||||
send_blank_response(conn, req, 500, "unknown server error while queuing job")
|
||||
return
|
||||
if quick:
|
||||
start_time = datetime.datetime.now()
|
||||
now = datetime.datetime.now()
|
||||
start_time = datetime.datetime.now(datetime.UTC)
|
||||
now = datetime.datetime.now(datetime.UTC)
|
||||
job_done = False
|
||||
quick_job = None
|
||||
logging.debug(f"{start_time}: Waiting for a quick job for 30 seconds")
|
||||
@@ -343,7 +343,7 @@ def handle_new_job_post(req: Request, conn: PacketServerConnection, db: ZODB.DB)
|
||||
except:
|
||||
pass
|
||||
time.sleep(1)
|
||||
now = datetime.datetime.now()
|
||||
now = datetime.datetime.now(datetime.UTC)
|
||||
if job_done and (type(quick_job) is Job):
|
||||
send_blank_response(conn, req, 200, job.to_dict(include_data=True))
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user