Skip to content
Snippets Groups Projects
Commit feac50a4 authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

accent cli configurable and synced by cronjob

parent 11790826
No related branches found
No related tags found
No related merge requests found
Pipeline #7325 passed
pass/config/development.json
pass/config/production.json
\ No newline at end of file
pass/config/production.json
pass/accent.json
const dayjs = require("dayjs");
const Order = require("../app/Order");
const RedisClient = require("../app/RedisClient");
const config = require("config");
const path = require("path");
const { writeFileSync } = require("fs");
const { exec } = require("child_process");
let redis_client;
/**
* Will call every cron script every minute.
......@@ -21,13 +25,47 @@ let cronjobs = async () => {
"YYYY-MM-DD HH:mm:ss"
)}] Written ${written_logs} key changes.`
);
await accentSync();
await redis_client.quit();
console.log(`[${now.format("YYYY-MM-DD HH:mm:ss")}] Finish`);
};
console.log("Start");
let interval = setInterval(cronjobs, 60000);
init();
cronjobs();
function init() {
if (process.env.NODE_ENV === "development" && config.get("app.accent.apiKey").length > 0) {
let accent_config = config.get("app.accent");
writeFileSync(path.join(__dirname, "..", "accent.json"), JSON.stringify(accent_config, null, 4));
}
}
async function accentSync() {
if (process.env.NODE_ENV !== "development") {
return;
}
return new Promise((resolve) => {
exec("accent sync", (error, stdout, stderr) => {
if (error) {
console.error(error);
}
if (stderr) {
console.error(stderr);
}
console.log(stdout);
let now = dayjs();
console.log(
`[${now.format(
"YYYY-MM-DD HH:mm:ss"
)}] Synced language files.`
);
resolve();
});
})
}
async function writeLogsToOrder() {
let redis_lock_key = "cron:writeLogsToOrder";
let interval_seconds = 60; // Will execute every minute
......
......@@ -18,6 +18,19 @@
"enabled": true,
"url": "<OSTICKET_URL>",
"api_key": "<OSTICKET_API_KEY>"
},
"accent": {
"apiUrl": "https://translate.metager.de",
"apiKey": "",
"files": [
{
"language": "de",
"format": "json",
"source": "lang/de/*.json",
"target": "lang/%slug%/%original_file_name%.json",
"hooks": {}
}
]
}
},
"price": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment