mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
cleaned up unused jobs implementation
This commit is contained in:
parent
ddce5c959e
commit
07bf075894
@ -56,13 +56,6 @@ const server = (function() {
|
||||
return ret.executionResult;
|
||||
}
|
||||
|
||||
async function setJob(opts) {
|
||||
opts.job = opts.job.toString();
|
||||
opts.params = prepareParams(opts.params);
|
||||
|
||||
await post('script/job', opts);
|
||||
}
|
||||
|
||||
let i = 1;
|
||||
const reqResolves = {};
|
||||
|
||||
@ -127,7 +120,6 @@ const server = (function() {
|
||||
put,
|
||||
remove,
|
||||
exec,
|
||||
setJob,
|
||||
ajax,
|
||||
// don't remove, used from CKEditor image upload!
|
||||
getHeaders
|
||||
|
@ -16,12 +16,6 @@ router.post('/exec', auth.checkApiAuth, wrap(async (req, res, next) => {
|
||||
});
|
||||
}));
|
||||
|
||||
router.post('/job', auth.checkApiAuth, wrap(async (req, res, next) => {
|
||||
await script.setJob(req.body);
|
||||
|
||||
res.send({});
|
||||
}));
|
||||
|
||||
router.get('/startup', auth.checkApiAuth, wrap(async (req, res, next) => {
|
||||
const repository = new Repository(req);
|
||||
const notes = await attributes.getNotesWithAttribute(repository, "run", "frontend_startup");
|
||||
|
@ -34,51 +34,6 @@ async function execute(ctx, script, paramsStr) {
|
||||
return await (function() { return eval(`const api = this;\r\n(${script})(${paramsStr})`); }.call(ctx));
|
||||
}
|
||||
|
||||
const timeouts = {};
|
||||
const intervals = {};
|
||||
|
||||
function clearExistingJob(name) {
|
||||
if (timeouts[name]) {
|
||||
clearTimeout(timeouts[name]);
|
||||
|
||||
delete timeouts[name];
|
||||
}
|
||||
|
||||
if (intervals[name]) {
|
||||
clearInterval(intervals[name]);
|
||||
|
||||
delete intervals[name];
|
||||
}
|
||||
}
|
||||
|
||||
async function executeJob(script, params, manualTransactionHandling) {
|
||||
const ctx = new ScriptContext();
|
||||
const paramsStr = getParams(params);
|
||||
|
||||
if (manualTransactionHandling) {
|
||||
return await execute(ctx, script, paramsStr);
|
||||
}
|
||||
else {
|
||||
return await sql.doInTransaction(async () => execute(ctx, script, paramsStr));
|
||||
}
|
||||
}
|
||||
|
||||
async function setJob(opts) {
|
||||
const { name, runEveryMs, initialRunAfterMs } = opts;
|
||||
|
||||
clearExistingJob(name);
|
||||
|
||||
const jobFunc = () => executeJob(opts.job, opts.params, opts.manualTransactionHandling);
|
||||
|
||||
if (runEveryMs && runEveryMs > 0) {
|
||||
intervals[name] = setInterval(jobFunc, runEveryMs);
|
||||
}
|
||||
|
||||
if (initialRunAfterMs && initialRunAfterMs > 0) {
|
||||
timeouts[name] = setTimeout(jobFunc, initialRunAfterMs);
|
||||
}
|
||||
}
|
||||
|
||||
function getParams(params) {
|
||||
if (!params) {
|
||||
return params;
|
||||
@ -152,7 +107,6 @@ ${note.content}
|
||||
module.exports = {
|
||||
executeNote,
|
||||
executeScript,
|
||||
setJob,
|
||||
getScriptBundle,
|
||||
getRenderScript
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user