MISASI commited on
Commit
c791e2a
Β·
verified Β·
1 Parent(s): 505c949

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +32 -41
server.js CHANGED
@@ -1,20 +1,21 @@
1
- const express = require('express');
2
- const bodyParser = require('body-parser');
3
- const { translate } = require('./translate');
4
- const cors = require('cors');
5
- const fs = require('fs');
6
- const app = express();
7
- const PORT = 7860;
8
-
9
- app.use(cors({ origin: '*' }));
10
- app.use(bodyParser.json());
11
-
12
- let delay = 0;
13
- const delayIncrement = 100;
14
- const maxDelay = 5000;
 
15
 
16
  if (fs.existsSync('delay.txt')) {
17
- delay = parseInt(fs.readFileSync('delay.txt', 'utf8'));
18
  }
19
 
20
  console.log('File system loaded')
@@ -22,13 +23,14 @@ console.log('File system loaded')
22
  app.post('/translate', async (req, res) => {
23
 
24
  console.log('Translate start')
 
25
 
26
- const { text, source_lang, target_lang } = req.body;
27
 
28
  try {
29
- await new Promise(resolve => setTimeout(resolve, delay));
30
 
31
- const result = await translate(text, source_lang, target_lang);
32
  const responseData = {
33
  alternatives: result.alternatives,
34
  code: 200,
@@ -37,33 +39,22 @@ app.post('/translate', async (req, res) => {
37
  method: 'Free',
38
  source_lang,
39
  target_lang,
40
- };
41
- res.json(responseData);
42
- } catch (error) {
43
- if (error.response && error.response.status === 429) {
44
-
45
- delay += delayIncrement;
46
- if (delay > maxDelay) {
47
- delay = maxDelay;
48
- }
49
- fs.writeFileSync('delay.txt', delay.toString());
50
- console.log(`429 μ—λŸ¬ λ°œμƒ. λ”œλ ˆμ΄ 증가: ${delay}ms`);
51
  }
52
- res.status(500).json({ error: 'Translation failed' });
 
 
 
 
53
  }
54
- });
55
 
56
  app.get('/', (req, res) => {
57
- if (fs.existsSync('delay.txt')) {
58
- const currentDelay = fs.readFileSync('delay.txt', 'utf8');
59
- res.send(`μ„œλ²„κ°€ κ΅¬λ™λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬ λ”œλ ˆμ΄ μ‹œκ°„μ€ ${currentDelay}msμž…λ‹ˆλ‹€.`);
60
- } else {
61
- // 파일이 μ—†λ‹€λ©΄ λ”œλ ˆμ΄κ°€ 0으둜 μ„€μ •λ˜μ–΄ μžˆλ‹€κ³  κ°€μ •ν•˜κ³  λ©”μ‹œμ§€λ₯Ό λ³΄λƒ…λ‹ˆλ‹€.
62
- res.send('μ„œλ²„κ°€ κ΅¬λ™λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬ λ”œλ ˆμ΄ μ‹œκ°„μ€ 0msμž…λ‹ˆλ‹€.');
63
- }
64
 
65
- });
66
 
67
  app.listen(PORT, () => {
68
- console.log(`Server is running on http://localhost:${PORT}`);
69
- });
 
1
+ const express = require('express')
2
+ const bodyParser = require('body-parser')
3
+ const { translate } = require('./translate')
4
+ const cors = require('cors')
5
+ const fs = require('fs')
6
+ const app = express()
7
+ const PORT = 7860
8
+
9
+ app.use(cors({ origin: '*' }))
10
+ app.use(bodyParser.json())
11
+
12
+ let delay = 0
13
+ const delayIncrement = 100
14
+ const maxDelay = 5000
15
+ let currentTranslations = 0
16
 
17
  if (fs.existsSync('delay.txt')) {
18
+ delay = parseInt(fs.readFileSync('delay.txt', 'utf8'))
19
  }
20
 
21
  console.log('File system loaded')
 
23
  app.post('/translate', async (req, res) => {
24
 
25
  console.log('Translate start')
26
+ currentTranslations++
27
 
28
+ const { text, source_lang, target_lang } = req.body
29
 
30
  try {
31
+ await new Promise(resolve => setTimeout(resolve, delay))
32
 
33
+ const result = await translate(text, source_lang, target_lang)
34
  const responseData = {
35
  alternatives: result.alternatives,
36
  code: 200,
 
39
  method: 'Free',
40
  source_lang,
41
  target_lang,
 
 
 
 
 
 
 
 
 
 
 
42
  }
43
+ res.json(responseData)
44
+ } catch (error) {
45
+ res.status(500).json({ error: 'Translation failed' })
46
+ } finally {
47
+ currentTranslations-- // λ²ˆμ—­ μ²˜λ¦¬κ°€ λλ‚˜λ©΄ 1 κ°μ†Œ
48
  }
49
+ })
50
 
51
  app.get('/', (req, res) => {
52
+ const delayMessage = fs.existsSync('delay.txt') ? fs.readFileSync('delay.txt', 'utf8') : '0'
53
+ const statusMessage = `μ„œλ²„κ°€ κ΅¬λ™λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬ λ”œλ ˆμ΄ μ‹œκ°„μ€ ${delayMessage}ms이며, ν˜„μž¬ 처리 쀑인 λ²ˆμ—­ μš”μ²­ μˆ˜λŠ” ${currentTranslations}κ±΄μž…λ‹ˆλ‹€.`
54
+ res.send(statusMessage)
 
 
 
 
55
 
56
+ })
57
 
58
  app.listen(PORT, () => {
59
+ console.log(`Server is running on http://localhost:${PORT}`)
60
+ })