mirror of
https://github.com/zadam/trilium.git
synced 2025-11-17 02:30:42 +01:00
cleaned up unused jobs implementation
This commit is contained in:
@@ -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
|
||||
};
|
||||
Reference in New Issue
Block a user