12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- const schedule = require('node-schedule');
- const { spawn } = require('child_process');
- const { ipc } = require('./config.server.js');
- const path = require('node:path')
- require('./thirdparty/naturalSort.js');
- require('./src/settings.js');
- require('./src/db.js');
- require('./src/dao.js');
- require('./src/crawler.js');
- const app = require('./config.server.js').app
- const ipb = require('./config.server.js').ipb
- let crawlState = 'off';
- let crawlFn = async () => {
- ipb('global:refresh:force')
- }
- ipc.on("global:refresh:done", () => {
- try {
- let getProcess = spawn("bash", ["get.sh"], {cwd: path.join(__dirname, 'tmp')})
- getProcess.stdout.pipe(process.stdout)
- getProcess.stderr.pipe(process.stderr)
-
- getProcess.on('close', (code) => {
- console.log(`child process exited with code ${code}`);
- if(code == 0){
- }
- });
- } catch (e) {
- console.error("erron on refresh handle", e)
- } finally {
- crawlState = 'off'
- }
- })
- let crawlFnSafe = async () => {
- try {
- crawlState = 'on'
- await crawlFn()
- } catch (e) {
- console.error("error on job", e)
- }
- }
- schedule.scheduleJob('50 23 * * *', () => {
- if(crawlState === 'off'){
- return new Promise(async () => await crawlFnSafe())
- } else {
- console.log("job already running")
- }
- });
- schedule.scheduleJob('*/30 * * * *', () => {
- console.log(`service is alive ${new Date()}`)
- })
|