biz-a-cli 2.3.63 → 2.3.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/app.js +145 -131
- package/bin/log/debug.log +5 -0
- package/bin/log/error.log +5 -0
- package/bin/log/exception.log +0 -0
- package/bin/log/info.log +5 -0
- package/callbackController.js +4 -2
- package/log/debug.log +180 -0
- package/log/error.log +5 -0
- package/log/exception.log +0 -0
- package/log/info.log +5 -0
- package/package.json +14 -4
- package/scheduler/datalib.js +9 -4
- package/tests/app.test.js +141 -113
- package/tests/data.test.js +139 -84
package/bin/app.js
CHANGED
|
@@ -4,22 +4,23 @@ import yargs from "yargs"
|
|
|
4
4
|
import axios from "axios"
|
|
5
5
|
import fs from "fs"
|
|
6
6
|
import * as tar from "tar"
|
|
7
|
-
import { verify, sign, privateDecrypt, constants as cryptoConstants
|
|
7
|
+
import { verify, sign, privateDecrypt, constants as cryptoConstants } from "node:crypto"
|
|
8
8
|
import { basename } from "node:path"
|
|
9
9
|
import { env } from "../envs/env.js"
|
|
10
10
|
import { prepareScript, encryptScript } from "./script.js"
|
|
11
|
+
import { spawn } from "node:child_process"
|
|
11
12
|
|
|
12
13
|
const keyFolderPath = process.argv[1].substring(0, process.argv[1].lastIndexOf("\\bin")) + "\\key"
|
|
13
14
|
|
|
14
15
|
const options = {
|
|
15
|
-
"s"
|
|
16
|
+
"s": {
|
|
16
17
|
alias: "server",
|
|
17
18
|
describe: `API or Server URL (ex: ${env.BIZA_SERVER_LINK} or http://192.168.1.1 or https://finaapi.imamatek.com)`,
|
|
18
19
|
type: "string",
|
|
19
20
|
demandOption: true,
|
|
20
21
|
default: 'http://localhost'
|
|
21
22
|
},
|
|
22
|
-
"i"
|
|
23
|
+
"i": {
|
|
23
24
|
alias: "dbIndex",
|
|
24
25
|
default: 2,
|
|
25
26
|
describe: "database index",
|
|
@@ -34,7 +35,7 @@ const options = {
|
|
|
34
35
|
},
|
|
35
36
|
"p": {
|
|
36
37
|
alias: "apiPort",
|
|
37
|
-
default
|
|
38
|
+
default: 212,
|
|
38
39
|
describe: "FINA API Port",
|
|
39
40
|
type: "number",
|
|
40
41
|
demandOption: false,
|
|
@@ -69,151 +70,164 @@ const removeCommandOptions = {
|
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
Object
|
|
72
|
-
.keys(options)
|
|
73
|
-
.reduce((app, optKey)=>app = app.option(optKey, options[optKey]), yargs(process.argv.slice(2)))
|
|
74
|
-
.command('add', 'Add Biz-A Application', addCommandOptions, async (options)=>{
|
|
73
|
+
.keys(options)
|
|
74
|
+
.reduce((app, optKey) => app = app.option(optKey, options[optKey]), yargs(process.argv.slice(2)))
|
|
75
|
+
.command('add', 'Add Biz-A Application', addCommandOptions, async (options) => {
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
77
|
+
const prepareKeys = async () => {
|
|
78
|
+
const data = Buffer.from(JSON.stringify({ issuer: 'CLI', acquirer: 'Client' })).toString('base64')
|
|
79
|
+
const privateKey = fs.readFileSync(`${keyFolderPath}\\cliPrivate.pem`)
|
|
80
|
+
const signature = sign('sha256', data, { key: privateKey, passphrase: 'Biz-A@cli', padding: cryptoConstants.RSA_PKCS1_PSS_PADDING }).toString('base64')
|
|
81
|
+
const res = await axios.get(env.BIZA_SERVER_LINK + '/api/issuerKey', { params: { data, signature } })
|
|
82
|
+
if ((res.data.data != null) && verify('sha256', res.data.data, { key: fs.readFileSync(`${keyFolderPath}\\serverPublic.pem`), padding: cryptoConstants.RSA_PKCS1_PSS_PADDING }, Buffer.from(res.data.signature, 'base64'))) {
|
|
83
|
+
const resData = JSON.parse(Buffer.from(res.data.data, 'base64').toString())
|
|
84
|
+
const decryptedAESKey = privateDecrypt({ key: privateKey, passphrase: 'Biz-A@cli', padding: cryptoConstants.RSA_PKCS1_OAEP_PADDING }, Buffer.from(resData.issuer.key, 'base64')).toString()
|
|
85
|
+
const cliSignature = (signedData) => sign('sha256', signedData, { key: privateKey, passphrase: 'Biz-A@cli', padding: cryptoConstants.RSA_PKCS1_PSS_PADDING }).toString('base64')
|
|
86
|
+
const acquirerData = Buffer.from(JSON.stringify(resData.acquirer)).toString('base64')
|
|
87
|
+
const signature = cliSignature(acquirerData)
|
|
88
|
+
return { encryptKey: decryptedAESKey, metadata: { acquirer: { data: acquirerData, signature } } }
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return null
|
|
92
|
+
}
|
|
91
93
|
}
|
|
92
|
-
}
|
|
93
94
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
95
|
+
const compressIt = (fileName, folderPath) => {
|
|
96
|
+
// tar v7.1.0 -> tested 10x times, 2-3x times last compressed file have empty content
|
|
97
|
+
// tar v.7.4.0 -> tested 1000x times, all files have content (used app.test.js)
|
|
98
|
+
let compressSuccess = false
|
|
99
|
+
const maxRetry = 10
|
|
100
|
+
let retryCount = 0
|
|
101
|
+
do {
|
|
102
|
+
tar.c({ file: fileName, cwd: folderPath, gzip: { level: 9 }, strict: true, sync: true }, fs.readdirSync(folderPath))
|
|
103
|
+
compressSuccess = true
|
|
104
|
+
tar.t({
|
|
105
|
+
file: fileName, cwd: folderPath, sync: true, onentry: (entry) => {
|
|
106
|
+
if (entry.size == 0) {
|
|
107
|
+
compressSuccess = false
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
})
|
|
111
|
+
if (compressSuccess == false) {
|
|
112
|
+
fs.unlinkSync(fileName)
|
|
113
|
+
retryCount++
|
|
106
114
|
}
|
|
107
|
-
}})
|
|
108
|
-
if (compressSuccess==false) {
|
|
109
|
-
fs.unlinkSync(fileName)
|
|
110
|
-
retryCount++
|
|
111
115
|
}
|
|
116
|
+
while ((compressSuccess == false) && (retryCount <= maxRetry))
|
|
112
117
|
}
|
|
113
|
-
while ((compressSuccess==false) && (retryCount<=maxRetry))
|
|
114
|
-
}
|
|
115
118
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
const getFileList = () => {
|
|
120
|
+
return (fs.readdirSync(process.cwd())).filter((fileName) => {
|
|
121
|
+
const stat = fs.statSync(fileName)
|
|
122
|
+
return stat.isFile() && (stat.size > 0) && ((fileName.split('.').pop().toLowerCase().match(/^(js)$/) || (fileName.toLowerCase() == 'menu.json')))
|
|
123
|
+
})
|
|
124
|
+
}
|
|
122
125
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
126
|
+
async function runUnitTests() { //SCY BZ 4331
|
|
127
|
+
const child = spawn('npx', ['jest'], { stdio: 'inherit', shell: true });
|
|
128
|
+
child.on('close', async (code) => {
|
|
129
|
+
if (code == 0) {
|
|
130
|
+
await addApp()
|
|
131
|
+
} else {
|
|
132
|
+
console.error('Biz-A Add aborted');
|
|
133
|
+
}
|
|
134
|
+
})
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
async function addApp() {
|
|
138
|
+
/*
|
|
139
|
+
hex => 2 char = 1 bytes => can be encrypted
|
|
140
|
+
base64 => 4 char = 3 bytes => can be encrypted. Smaller size compare to Hex
|
|
141
|
+
utf8 => 1 char = 1 - 4 bytes => can not be encrypted, encryption need precise bytes per Character. Smallest Size compare to Hex and base64
|
|
142
|
+
*/
|
|
143
|
+
process.chdir(options.workingDir)
|
|
144
|
+
try {
|
|
145
|
+
const bundlingStart = performance.now()
|
|
146
|
+
const rootFolder = './upload/'
|
|
147
|
+
const bundleName = basename(process.cwd()).trim().replace(' ', '').toLowerCase()
|
|
148
|
+
const bundleFolder = rootFolder + bundleName + '/'
|
|
149
|
+
const files = getFileList()
|
|
150
|
+
if (files.length > 0) {
|
|
151
|
+
const keys = await prepareKeys()
|
|
152
|
+
let processedFile = 0
|
|
153
|
+
fs.rmSync(rootFolder, { force: true, recursive: true })
|
|
154
|
+
fs.mkdirSync(bundleFolder, { recursive: true })
|
|
155
|
+
for (const file of files) {
|
|
156
|
+
const fileName = file.toLowerCase();
|
|
157
|
+
const encryptedScript = encryptScript(await prepareScript(fileName, fs.readFileSync(fileName).toString(), options.verbose), keys.encryptKey)
|
|
158
|
+
if (fileName == 'menu.json') {
|
|
159
|
+
keys.metadata['menu'] = encryptedScript.toString('base64')
|
|
160
|
+
} else {
|
|
161
|
+
fs.writeFileSync(bundleFolder + fileName, encryptedScript.toString('base64'))
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
processedFile++
|
|
148
165
|
}
|
|
166
|
+
const bundleFile = `${rootFolder}${bundleName}.tgz`
|
|
167
|
+
compressIt(bundleFile, bundleFolder)
|
|
168
|
+
console.log(`Finished packing ${processedFile} files into "${bundleFile}" (${((performance.now() - bundlingStart) / 1000).toFixed(2)}s)`)
|
|
149
169
|
|
|
150
|
-
|
|
170
|
+
// send to API
|
|
171
|
+
const uploadingStart = performance.now()
|
|
172
|
+
const data = (fs.readFileSync(bundleFile)).toString('base64') // *.tgz to base64String
|
|
173
|
+
const baseUrl = 'fina/rest/TOrmMethod/%22setApp%22'
|
|
174
|
+
const url = options.sub ?
|
|
175
|
+
`${options.server}/hub/${baseUrl}?subdomain=${options.sub}` :
|
|
176
|
+
`${options.server}:${options.apiPort}/${baseUrl}`
|
|
177
|
+
const headers = { 'Content-Type': 'text/plain' }
|
|
178
|
+
const param = { _parameters: [options.dbIndex, bundleName, data, keys.metadata] }
|
|
179
|
+
const res = await axios.post(url, param, { headers: headers });
|
|
180
|
+
if (res.data.success) {
|
|
181
|
+
console.log(`Finished uploading "${bundleFile}" (${((performance.now() - uploadingStart) / 1000).toFixed(2)}s)`)
|
|
182
|
+
fs.rmSync(rootFolder, { force: true, recursive: true })
|
|
183
|
+
} else {
|
|
184
|
+
console.error(res.data.error)
|
|
185
|
+
}
|
|
186
|
+
} else {
|
|
187
|
+
console.error('Nothing to upload. Please recheck your app folder.')
|
|
151
188
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
189
|
+
} catch (e) {
|
|
190
|
+
console.error(e.response?.data ? e.response.data : e)
|
|
191
|
+
}
|
|
192
|
+
}
|
|
155
193
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
194
|
+
await runUnitTests()
|
|
195
|
+
})
|
|
196
|
+
.command('remove', 'Remove Biz-A Application', removeCommandOptions, (options) => {
|
|
197
|
+
(async () => {
|
|
198
|
+
try {
|
|
199
|
+
const baseUrl = 'fina/rest/TOrmMethod/%22deleteApp%22'
|
|
160
200
|
const url = options.sub ?
|
|
161
201
|
`${options.server}/hub/${baseUrl}?subdomain=${options.sub}` :
|
|
162
202
|
`${options.server}:${options.apiPort}/${baseUrl}`
|
|
163
|
-
const headers = {'Content-Type': 'text/plain'}
|
|
164
|
-
const
|
|
203
|
+
const headers = { 'Content-Type': 'text/plain' }
|
|
204
|
+
const deleteApps = options.appName.trim().replaceAll(' ', '').toLowerCase()
|
|
205
|
+
const param = { _parameters: [options.dbIndex, deleteApps] }
|
|
165
206
|
const res = await axios.post(url, param, { headers: headers });
|
|
166
|
-
if (res.data
|
|
167
|
-
|
|
168
|
-
|
|
207
|
+
if (res.data?.success) {
|
|
208
|
+
if (deleteApps == '') {
|
|
209
|
+
console.log('All apps removed')
|
|
210
|
+
} else {
|
|
211
|
+
const failedList = (res.data._f && (typeof res.data._f == 'string')) ? res.data._f.trim().replaceAll(' ', '').toLowerCase().split(',') : []
|
|
212
|
+
const removeList = deleteApps.split(',')
|
|
213
|
+
removeList.forEach((app) => {
|
|
214
|
+
console.log(`${app} ${failedList.indexOf(app) == -1 ? 'removed' : 'not found'}`)
|
|
215
|
+
})
|
|
216
|
+
}
|
|
169
217
|
} else {
|
|
170
218
|
console.error(res.data.error)
|
|
171
219
|
}
|
|
172
|
-
|
|
173
|
-
|
|
220
|
+
return res
|
|
221
|
+
} catch (e) {
|
|
222
|
+
const errMsg = (e.response?.data ? e.response.data : e)
|
|
223
|
+
console.error(errMsg)
|
|
224
|
+
return errMsg
|
|
174
225
|
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
})
|
|
182
|
-
.command('remove', 'Remove Biz-A Application', removeCommandOptions, (options)=>{
|
|
183
|
-
(async () => {
|
|
184
|
-
try {
|
|
185
|
-
const baseUrl = 'fina/rest/TOrmMethod/%22deleteApp%22'
|
|
186
|
-
const url = options.sub ?
|
|
187
|
-
`${options.server}/hub/${baseUrl}?subdomain=${options.sub}` :
|
|
188
|
-
`${options.server}:${options.apiPort}/${baseUrl}`
|
|
189
|
-
const headers = {'Content-Type': 'text/plain'}
|
|
190
|
-
const deleteApps = options.appName.trim().replaceAll(' ', '').toLowerCase()
|
|
191
|
-
const param = { _parameters: [options.dbIndex, deleteApps] }
|
|
192
|
-
const res = await axios.post(url, param, { headers: headers });
|
|
193
|
-
if (res.data?.success) {
|
|
194
|
-
if (deleteApps=='') {
|
|
195
|
-
console.log('All apps removed')
|
|
196
|
-
} else {
|
|
197
|
-
const failedList = (res.data._f && (typeof res.data._f=='string')) ? res.data._f.trim().replaceAll(' ', '').toLowerCase().split(',') : []
|
|
198
|
-
const removeList = deleteApps.split(',')
|
|
199
|
-
removeList.forEach((app)=>{
|
|
200
|
-
console.log(`${app} ${failedList.indexOf(app)==-1 ? 'removed' : 'not found'}`)
|
|
201
|
-
})
|
|
202
|
-
}
|
|
203
|
-
} else {
|
|
204
|
-
console.error(res.data.error)
|
|
205
|
-
}
|
|
206
|
-
return res
|
|
207
|
-
} catch (e) {
|
|
208
|
-
const errMsg = (e.response?.data ? e.response.data : e)
|
|
209
|
-
console.error(errMsg)
|
|
210
|
-
return errMsg
|
|
211
|
-
}
|
|
212
|
-
})()
|
|
213
|
-
})
|
|
214
|
-
.recommendCommands()
|
|
215
|
-
.demandCommand(1, 'You need at least one command before moving on')
|
|
216
|
-
.strict()
|
|
217
|
-
.parse();
|
|
226
|
+
})()
|
|
227
|
+
})
|
|
228
|
+
.recommendCommands()
|
|
229
|
+
.demandCommand(1, 'You need at least one command before moving on')
|
|
230
|
+
.strict()
|
|
231
|
+
.parse();
|
|
218
232
|
|
|
219
|
-
export {options, addCommandOptions, removeCommandOptions}
|
|
233
|
+
export { options, addCommandOptions, removeCommandOptions }
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"level":"error","message":"Unhandled Rejection: Error: querySrv EREFUSED _mongodb._tcp.imm-cdm.ohcqt.mongodb.net","stack":"Error: Error: querySrv EREFUSED _mongodb._tcp.imm-cdm.ohcqt.mongodb.net\n at fetchCompanyObjectId (file:///c:/SourceCode/biz-a/cli/scheduler/configController.js:92:15)\n at async getCompanyObjectId (file:///c:/SourceCode/biz-a/cli/scheduler/configController.js:107:29)\n at async Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:51:21)"}
|
|
2
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:70:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:77:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:86:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:85:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
3
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
4
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
5
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:72:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"level":"error","message":"Unhandled Rejection: Error: querySrv EREFUSED _mongodb._tcp.imm-cdm.ohcqt.mongodb.net","stack":"Error: Error: querySrv EREFUSED _mongodb._tcp.imm-cdm.ohcqt.mongodb.net\n at fetchCompanyObjectId (file:///c:/SourceCode/biz-a/cli/scheduler/configController.js:92:15)\n at async getCompanyObjectId (file:///c:/SourceCode/biz-a/cli/scheduler/configController.js:107:29)\n at async Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:51:21)"}
|
|
2
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:70:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:77:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:86:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:85:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
3
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
4
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
5
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:72:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
File without changes
|
package/bin/log/info.log
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"level":"error","message":"Unhandled Rejection: Error: querySrv EREFUSED _mongodb._tcp.imm-cdm.ohcqt.mongodb.net","stack":"Error: Error: querySrv EREFUSED _mongodb._tcp.imm-cdm.ohcqt.mongodb.net\n at fetchCompanyObjectId (file:///c:/SourceCode/biz-a/cli/scheduler/configController.js:92:15)\n at async getCompanyObjectId (file:///c:/SourceCode/biz-a/cli/scheduler/configController.js:107:29)\n at async Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:51:21)"}
|
|
2
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:70:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:77:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:86:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:85:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
3
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
4
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:70:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
|
5
|
+
{"level":"error","message":"Unhandled Rejection: Invalid time zone specified: null","stack":"RangeError: Invalid time zone specified: null\n at Date.toLocaleString (<anonymous>)\n at f.tz (c:\\SourceCode\\biz-a\\cli\\node_modules\\dayjs\\plugin\\timezone.js:1:1041)\n at setTimeZoneDate (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:79:23)\n at isItTime (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:84:26)\n at file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:93:33\n at Array.map (<anonymous>)\n at loopTimer (file:///c:/SourceCode/biz-a/cli/scheduler/watcherlib.js:92:27)\n at Module.runScheduler (file:///c:/SourceCode/biz-a/cli/scheduler/timer.js:72:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)"}
|
package/callbackController.js
CHANGED
|
@@ -26,10 +26,12 @@ export async function runCliScript(req, res) {
|
|
|
26
26
|
let script = await loadCliScript(selectedConfig, 'ID', req.body.query.scriptid);
|
|
27
27
|
let functions = await extractFunctionScript(selectedConfig, script);
|
|
28
28
|
if (functions) {
|
|
29
|
-
|
|
29
|
+
console.info(`## Callback ID ${req.body.query.scriptid} Starts. ##`);
|
|
30
|
+
|
|
31
|
+
let respon = await functions.onInit(data);
|
|
30
32
|
res.send(respon);
|
|
31
33
|
|
|
32
|
-
console.
|
|
34
|
+
console.info(`## Callback ID ${req.body.query.scriptid} Finish. ##`);
|
|
33
35
|
} else {
|
|
34
36
|
res.send('CLI Script does not exist.');
|
|
35
37
|
}
|
package/log/debug.log
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
|
|
2
|
+
{"level":"debug","message":"====================================="}
|
|
3
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 22:33:54 callbackprocess_id: 526"}
|
|
4
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.051 seconds"}
|
|
5
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 0.802 seconds"}
|
|
6
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.036 seconds"}
|
|
7
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.057 seconds"}
|
|
8
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.022 seconds"}
|
|
9
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 1.882 seconds"}
|
|
10
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.609 seconds"}
|
|
11
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 22:33:58 callbackprocess_id: 526"}
|
|
12
|
+
{"level":"debug","message":"====================================="}
|
|
13
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 22:35:30 callbackprocess_id: 526"}
|
|
14
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.079 seconds"}
|
|
15
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.175 seconds"}
|
|
16
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.047 seconds"}
|
|
17
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.209 seconds"}
|
|
18
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.044 seconds"}
|
|
19
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.237 seconds"}
|
|
20
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.986 seconds"}
|
|
21
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 22:35:36 callbackprocess_id: 526"}
|
|
22
|
+
{"level":"debug","message":"====================================="}
|
|
23
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 22:59:50 callbackprocess_id: 526"}
|
|
24
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.055 seconds"}
|
|
25
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 0.796 seconds"}
|
|
26
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.045 seconds"}
|
|
27
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.211 seconds"}
|
|
28
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.043 seconds"}
|
|
29
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 3.48 seconds"}
|
|
30
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.784 seconds"}
|
|
31
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 22:59:56 callbackprocess_id: 526"}
|
|
32
|
+
{"level":"debug","message":"====================================="}
|
|
33
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:01:02 callbackprocess_id: 526"}
|
|
34
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.071 seconds"}
|
|
35
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 0.813 seconds"}
|
|
36
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.039 seconds"}
|
|
37
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.188 seconds"}
|
|
38
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.039 seconds"}
|
|
39
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 3.149 seconds"}
|
|
40
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.819 seconds"}
|
|
41
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:01:08 callbackprocess_id: 526"}
|
|
42
|
+
{"level":"debug","message":"====================================="}
|
|
43
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:02:49 callbackprocess_id: 526"}
|
|
44
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.047 seconds"}
|
|
45
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 0.794 seconds"}
|
|
46
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.043 seconds"}
|
|
47
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.218 seconds"}
|
|
48
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.045 seconds"}
|
|
49
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.935 seconds"}
|
|
50
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.862 seconds"}
|
|
51
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:02:55 callbackprocess_id: 526"}
|
|
52
|
+
{"level":"debug","message":"====================================="}
|
|
53
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:04:14 callbackprocess_id: 526"}
|
|
54
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.047 seconds"}
|
|
55
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 0.855 seconds"}
|
|
56
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.047 seconds"}
|
|
57
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.2 seconds"}
|
|
58
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.037 seconds"}
|
|
59
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 3.311 seconds"}
|
|
60
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.786 seconds"}
|
|
61
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:04:20 callbackprocess_id: 526"}
|
|
62
|
+
{"level":"debug","message":"====================================="}
|
|
63
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:05:01 callbackprocess_id: 526"}
|
|
64
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.095 seconds"}
|
|
65
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.055 seconds"}
|
|
66
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.044 seconds"}
|
|
67
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.181 seconds"}
|
|
68
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.043 seconds"}
|
|
69
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 4.269 seconds"}
|
|
70
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 2.077 seconds"}
|
|
71
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:05:09 callbackprocess_id: 526"}
|
|
72
|
+
{"level":"debug","message":"====================================="}
|
|
73
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:07:50 callbackprocess_id: 526"}
|
|
74
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.057 seconds"}
|
|
75
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 0.868 seconds"}
|
|
76
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.045 seconds"}
|
|
77
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.205 seconds"}
|
|
78
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.048 seconds"}
|
|
79
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.89 seconds"}
|
|
80
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.838 seconds"}
|
|
81
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:07:56 callbackprocess_id: 526"}
|
|
82
|
+
{"level":"debug","message":"====================================="}
|
|
83
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:09:49 callbackprocess_id: 526"}
|
|
84
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.092 seconds"}
|
|
85
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.15 seconds"}
|
|
86
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.038 seconds"}
|
|
87
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.176 seconds"}
|
|
88
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.039 seconds"}
|
|
89
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 4.005 seconds"}
|
|
90
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 2.016 seconds"}
|
|
91
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:09:57 callbackprocess_id: 526"}
|
|
92
|
+
{"level":"debug","message":"====================================="}
|
|
93
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:11:17 callbackprocess_id: 526"}
|
|
94
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.089 seconds"}
|
|
95
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.193 seconds"}
|
|
96
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.039 seconds"}
|
|
97
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.182 seconds"}
|
|
98
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.053 seconds"}
|
|
99
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 4.184 seconds"}
|
|
100
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 2.037 seconds"}
|
|
101
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:11:25 callbackprocess_id: 526"}
|
|
102
|
+
{"level":"debug","message":"====================================="}
|
|
103
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:12:43 callbackprocess_id: 526"}
|
|
104
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.082 seconds"}
|
|
105
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.245 seconds"}
|
|
106
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.035 seconds"}
|
|
107
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.179 seconds"}
|
|
108
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.036 seconds"}
|
|
109
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 4.719 seconds"}
|
|
110
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.911 seconds"}
|
|
111
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:12:51 callbackprocess_id: 526"}
|
|
112
|
+
{"level":"debug","message":"====================================="}
|
|
113
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:19:24 callbackprocess_id: 526"}
|
|
114
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.089 seconds"}
|
|
115
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.143 seconds"}
|
|
116
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.041 seconds"}
|
|
117
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.213 seconds"}
|
|
118
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.042 seconds"}
|
|
119
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.086 seconds"}
|
|
120
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 30.016 seconds"}
|
|
121
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:19:58 callbackprocess_id: 526"}
|
|
122
|
+
{"level":"debug","message":"====================================="}
|
|
123
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:21:51 callbackprocess_id: 526"}
|
|
124
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.078 seconds"}
|
|
125
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.09 seconds"}
|
|
126
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.035 seconds"}
|
|
127
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.189 seconds"}
|
|
128
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.037 seconds"}
|
|
129
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.018 seconds"}
|
|
130
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 4.144 seconds"}
|
|
131
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:21:59 callbackprocess_id: 526"}
|
|
132
|
+
{"level":"debug","message":"====================================="}
|
|
133
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:23:37 callbackprocess_id: 526"}
|
|
134
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.092 seconds"}
|
|
135
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.105 seconds"}
|
|
136
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.037 seconds"}
|
|
137
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.174 seconds"}
|
|
138
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.037 seconds"}
|
|
139
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.036 seconds"}
|
|
140
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 5.681 seconds"}
|
|
141
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:23:47 callbackprocess_id: 526"}
|
|
142
|
+
{"level":"debug","message":"====================================="}
|
|
143
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:26:51 callbackprocess_id: 526"}
|
|
144
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.086 seconds"}
|
|
145
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 1.134 seconds"}
|
|
146
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.041 seconds"}
|
|
147
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.204 seconds"}
|
|
148
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.038 seconds"}
|
|
149
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.012 seconds"}
|
|
150
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 4.26 seconds"}
|
|
151
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:26:58 callbackprocess_id: 526"}
|
|
152
|
+
{"level":"debug","message":"====================================="}
|
|
153
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:30:47 callbackprocess_id: 526"}
|
|
154
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.085 seconds"}
|
|
155
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 24.544 seconds"}
|
|
156
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.037 seconds"}
|
|
157
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.178 seconds"}
|
|
158
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.043 seconds"}
|
|
159
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 1.185 seconds"}
|
|
160
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 0.002 seconds"}
|
|
161
|
+
{"level":"debug","message":"====================================="}
|
|
162
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:32:38 callbackprocess_id: 526"}
|
|
163
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.084 seconds"}
|
|
164
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 3.4 seconds"}
|
|
165
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.1 seconds"}
|
|
166
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.191 seconds"}
|
|
167
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.037 seconds"}
|
|
168
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.231 seconds"}
|
|
169
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 1.976 seconds"}
|
|
170
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:32:46 callbackprocess_id: 526"}
|
|
171
|
+
{"level":"debug","message":"====================================="}
|
|
172
|
+
{"level":"debug","message":"Mulai proses hasil produksi 2025-08-03 23:36:43 callbackprocess_id: 526"}
|
|
173
|
+
{"level":"debug","message":"scheduleid: 122405 createRequestRM succeed 0.079 seconds"}
|
|
174
|
+
{"level":"debug","message":"scheduleid: 122405 saveRMOutMarshal succeed 2.799 seconds"}
|
|
175
|
+
{"level":"debug","message":"scheduleid: 122405 saveStartProductionMarshal succeed 0.049 seconds"}
|
|
176
|
+
{"level":"debug","message":"scheduleid: 122405 saveProdResultMarshal succeed 0.193 seconds"}
|
|
177
|
+
{"level":"debug","message":"scheduleid: 122405 saveQC succeed 0.041 seconds"}
|
|
178
|
+
{"level":"debug","message":"scheduleid: 122405 saveFGInMarshal succeed 2.241 seconds"}
|
|
179
|
+
{"level":"debug","message":"scheduleid: 122405 saveCloseWOMarshal succeed 2.052 seconds"}
|
|
180
|
+
{"level":"debug","message":"Selesai proses hasil produksi 2025-08-03 23:36:50 callbackprocess_id: 526"}
|
package/log/error.log
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
2
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
3
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
4
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
5
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
File without changes
|
package/log/info.log
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
2
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
3
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
4
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|
|
5
|
+
{"level":"error","message":"Unhandled Rejection: Error: connect ECONNREFUSED 127.0.0.1:212","stack":"Error: Error: connect ECONNREFUSED 127.0.0.1:212\n at runCliScript (file:///C:/SourceCode/biz-a/cli/callbackController.js:40:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)"}
|