Compare commits

..

No commits in common. "f0fd7080822f64edf2c67d97848ab27b64289ee5" and "7659b481fa95a6d3f870ccbfd4ecda68f3a7f048" have entirely different histories.

6 changed files with 14 additions and 12 deletions

View File

@ -68,7 +68,7 @@
}, },
"mtime": { "mtime": {
"type": "date", "type": "date",
"format": "epoch_second" "format": "epoch_millis"
}, },
"size": { "size": {
"type": "long" "type": "long"

View File

@ -44,7 +44,8 @@ export default {
return ""; return "";
} }
return moment.utc(dateString).local().fromNow(); const date = Date.parse(dateString);
return moment(date).fromNow();
} }
} }
} }

View File

@ -121,7 +121,7 @@ export default {
id: row.id, id: row.id,
name: row.name, name: row.name,
duration: this.taskDuration(row), duration: this.taskDuration(row),
time: moment.utc(row.started).local().format("dd, MMM Do YYYY, HH:mm:ss"), time: moment(row.started).format("dd, MMM Do YYYY, HH:mm:ss"),
logs: row.id, logs: row.id,
status: row.return_code === 0 ? "ok" : "failed" status: row.return_code === 0 ? "ok" : "failed"
})); }));

View File

@ -80,8 +80,9 @@ async def get_jobs():
@app.put("/api/job/{name:str}") @app.put("/api/job/{name:str}")
async def update_job(name: str, new_job: Sist2Job): async def update_job(name: str, new_job: Sist2Job):
# TODO: Check etag
new_job.last_modified = datetime.utcnow() new_job.last_modified = datetime.now()
job = db["jobs"][name] job = db["jobs"][name]
if not job: if not job:
raise HTTPException(status_code=404) raise HTTPException(status_code=404)
@ -134,7 +135,7 @@ async def kill_job(task_id: str):
def _run_job(job: Sist2Job): def _run_job(job: Sist2Job):
job.last_modified = datetime.utcnow() job.last_modified = datetime.now()
if job.status == JobStatus("created"): if job.status == JobStatus("created"):
job.status = JobStatus("started") job.status = JobStatus("started")
db["jobs"][job.name] = job db["jobs"][job.name] = job
@ -351,7 +352,7 @@ async def ws_tail_log(websocket: WebSocket, task_id: str, n: int):
def main(): def main():
uvicorn.run(app, port=WEBSERVER_PORT, host="0.0.0.0", timeout_graceful_shutdown=0) uvicorn.run(app, port=WEBSERVER_PORT, host="0.0.0.0")
def initialize_db(): def initialize_db():

View File

@ -53,7 +53,7 @@ class Sist2Job(BaseModel):
name=name, name=name,
scan_options=ScanOptions(path="/"), scan_options=ScanOptions(path="/"),
index_options=IndexOptions(), index_options=IndexOptions(),
last_modified=datetime.utcnow(), last_modified=datetime.now(),
cron_expression="0 0 * * *" cron_expression="0 0 * * *"
) )
@ -111,7 +111,7 @@ class Sist2Task:
self._logger.info(json.dumps(log_json)) self._logger.info(json.dumps(log_json))
def run(self, sist2: Sist2, db: PersistentState): def run(self, sist2: Sist2, db: PersistentState):
self.started = datetime.utcnow() self.started = datetime.now()
logger.info(f"Started task {self.display_name}") logger.info(f"Started task {self.display_name}")
@ -132,14 +132,14 @@ class Sist2ScanTask(Sist2Task):
self.pid = pid self.pid = pid
return_code = sist2.scan(self.job.scan_options, logs_cb=self.log_callback, set_pid_cb=set_pid) return_code = sist2.scan(self.job.scan_options, logs_cb=self.log_callback, set_pid_cb=set_pid)
self.ended = datetime.utcnow() self.ended = datetime.now()
if return_code != 0: if return_code != 0:
self._logger.error(json.dumps({"sist2-admin": f"Process returned non-zero exit code ({return_code})"})) self._logger.error(json.dumps({"sist2-admin": f"Process returned non-zero exit code ({return_code})"}))
logger.info(f"Task {self.display_name} failed ({return_code})") logger.info(f"Task {self.display_name} failed ({return_code})")
else: else:
self.job.index_path = self.job.scan_options.output self.job.index_path = self.job.scan_options.output
self.job.last_index_date = datetime.utcnow() self.job.last_index_date = datetime.now()
self.job.do_full_scan = False self.job.do_full_scan = False
db["jobs"][self.job.name] = self.job db["jobs"][self.job.name] = self.job
self._logger.info(json.dumps({"sist2-admin": f"Save last_index_date={self.job.last_index_date}"})) self._logger.info(json.dumps({"sist2-admin": f"Save last_index_date={self.job.last_index_date}"}))
@ -172,7 +172,7 @@ class Sist2IndexTask(Sist2Task):
self.job.index_options.path = self.job.scan_options.output self.job.index_options.path = self.job.scan_options.output
return_code = sist2.index(self.job.index_options, logs_cb=self.log_callback) return_code = sist2.index(self.job.index_options, logs_cb=self.log_callback)
self.ended = datetime.utcnow() self.ended = datetime.now()
duration = self.ended - self.started duration = self.ended - self.started

View File

@ -238,7 +238,7 @@ class Sist2:
if options.output is None: if options.output is None:
options.output = os.path.join( options.output = os.path.join(
self._data_dir, self._data_dir,
f"scan-{options.name.replace('/', '_')}-{datetime.utcnow()}.sist2" f"scan-{options.name.replace('/', '_')}-{datetime.now()}.sist2"
) )
args = [ args = [