mirror of
https://github.com/simon987/sist2.git
synced 2025-04-21 19:26:45 +00:00
Compare commits
3 Commits
7659b481fa
...
f0fd708082
Author | SHA1 | Date | |
---|---|---|---|
f0fd708082 | |||
6bf2b4c74d | |||
d907576406 |
@ -68,7 +68,7 @@
|
|||||||
},
|
},
|
||||||
"mtime": {
|
"mtime": {
|
||||||
"type": "date",
|
"type": "date",
|
||||||
"format": "epoch_millis"
|
"format": "epoch_second"
|
||||||
},
|
},
|
||||||
"size": {
|
"size": {
|
||||||
"type": "long"
|
"type": "long"
|
||||||
|
@ -44,8 +44,7 @@ export default {
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const date = Date.parse(dateString);
|
return moment.utc(dateString).local().fromNow();
|
||||||
return moment(date).fromNow();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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(row.started).format("dd, MMM Do YYYY, HH:mm:ss"),
|
time: moment.utc(row.started).local().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"
|
||||||
}));
|
}));
|
||||||
|
@ -80,9 +80,8 @@ 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.now()
|
new_job.last_modified = datetime.utcnow()
|
||||||
job = db["jobs"][name]
|
job = db["jobs"][name]
|
||||||
if not job:
|
if not job:
|
||||||
raise HTTPException(status_code=404)
|
raise HTTPException(status_code=404)
|
||||||
@ -135,7 +134,7 @@ async def kill_job(task_id: str):
|
|||||||
|
|
||||||
|
|
||||||
def _run_job(job: Sist2Job):
|
def _run_job(job: Sist2Job):
|
||||||
job.last_modified = datetime.now()
|
job.last_modified = datetime.utcnow()
|
||||||
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
|
||||||
@ -352,7 +351,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")
|
uvicorn.run(app, port=WEBSERVER_PORT, host="0.0.0.0", timeout_graceful_shutdown=0)
|
||||||
|
|
||||||
|
|
||||||
def initialize_db():
|
def initialize_db():
|
||||||
|
@ -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.now(),
|
last_modified=datetime.utcnow(),
|
||||||
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.now()
|
self.started = datetime.utcnow()
|
||||||
|
|
||||||
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.now()
|
self.ended = datetime.utcnow()
|
||||||
|
|
||||||
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.now()
|
self.job.last_index_date = datetime.utcnow()
|
||||||
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.now()
|
self.ended = datetime.utcnow()
|
||||||
|
|
||||||
duration = self.ended - self.started
|
duration = self.ended - self.started
|
||||||
|
|
||||||
|
@ -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.now()}.sist2"
|
f"scan-{options.name.replace('/', '_')}-{datetime.utcnow()}.sist2"
|
||||||
)
|
)
|
||||||
|
|
||||||
args = [
|
args = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user