Spaces:
Sleeping
Sleeping
File size: 2,024 Bytes
c791e2a cae0d02 c791e2a 12d5b92 e01be37 12d5b92 e01be37 12d5b92 c791e2a 12d5b92 c791e2a 12d5b92 c791e2a 12d5b92 c791e2a 12d5b92 c791e2a 8ab856a c791e2a adec696 e01be37 7881131 e01be37 c791e2a 12d5b92 c791e2a 12d5b92 c791e2a e01be37 c791e2a 7b3ad18 c791e2a 12d5b92 c791e2a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
const express = require('express')
const bodyParser = require('body-parser')
const { translate } = require('./translate')
const cors = require('cors')
const fs = require('fs')
const app = express()
const PORT = 7860
app.use(cors({ origin: '*' }))
app.use(bodyParser.json())
let delay = 1500
const delayIncrement = 100
const maxDelay = 5000
let currentTranslations = 0
function delayFileTermination(delay) {
if (fs.existsSync('delay.txt')) {
delay = parseInt(fs.readFileSync('delay.txt', 'utf8'))
}else{
fs.writeFile('delay.txt', 'delay:{$delay}', function(err){
if(err = null){
console.log('success')
}else{
console.log('fail')
}
})
}
}
console.log('File system loaded')
app.post('/translate', async (req, res) => {
console.log('Translate start')
currentTranslations++
const { text, source_lang, target_lang } = req.body
try {
await new Promise(resolve => setTimeout(resolve, delay))
const result = await translate(text, source_lang, target_lang)
const responseData = {
alternatives: result.alternatives,
code: 200,
data: result.text,
id: Math.floor(Math.random() * 10000000000),
method: 'Free',
source_lang,
target_lang,
}
res.json(responseData)
console.log(`"${text}" -> "${result.text}"`)
} catch (error) {
console.log('Translation failed : ${error}')
delay = delay + 100
delayFileTermination(delay)
console("νμ¬ Delay νμ:" + delay + "ms")
} finally {
currentTranslations-- // λ²μ μ²λ¦¬κ° λλλ©΄ 1 κ°μ
}
})
app.get('/', (req, res) => {
const delayMessage = fs.existsSync('delay.txt') ? fs.readFileSync('delay.txt', 'utf8') : '0'
const statusMessage = `μλ²κ° ꡬλλμμ΅λλ€. νμ¬ λλ μ΄ μκ°μ ${delay}msμ΄λ©°, νμ¬ μ²λ¦¬ μ€μΈ λ²μ μμ² μλ ${currentTranslations}건μ
λλ€.`
res.send(statusMessage)
})
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`)
}) |