Advertisement
vitareinforce

nodejs script

Jan 24th, 2024
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. const axios = require('axios')
  2. // get package open file
  3. const fs = require('fs')
  4.  
  5. const server_address = 'localhost'
  6. // const server_address = '192.168.1.200'
  7. const url = '/generator/harian/streamFileKPH'
  8. const default_timeout = 9000000
  9. // const file_location = "../absensi-web-superplastin/public/exectime_countfile.txt"
  10. const file_location = "public/exectime_countfile.txt"
  11.  
  12. function delay(time) {
  13. return new Promise(resolve => setTimeout(resolve, time));
  14. }
  15.  
  16. async function readFileAsync(path) {
  17. return new Promise((resolve, reject) => {
  18. fs.readFile(path, 'utf-8', (err, data) => {
  19. if (err) {
  20. reject(err);
  21. } else {
  22. resolve(data);
  23. }
  24. });
  25. });
  26. }
  27.  
  28. async function batchGeneratorRutin() {
  29. console.log('start')
  30. try {
  31. let req = await axios.post('http://' + server_address + url, {key: "Superplastin"})
  32. if(req.status == 200) {
  33. let data = await readFileAsync(file_location);
  34. let exectime = JSON.parse(data).exectime;
  35. let count_file = JSON.parse(data).count_file;
  36. let count_delay = exectime * 1000000 * count_file;
  37. console.log('Waiting ' + count_delay + "ms");
  38. await delay(count_delay);
  39. await batchGeneratorRutin();
  40. } else {
  41. console.log(req.error)
  42. console.log('Error detected: Waiting ' + default_timeout + "ms")
  43. delay(default_timeout)
  44. batchGeneratorRutin();
  45. }
  46. } catch (error) {
  47. console.error(error);
  48. console.log('Error detected: Waiting ' + default_timeout + "ms");
  49. await delay(default_timeout);
  50. await batchGeneratorRutin();
  51. }
  52. }
  53.  
  54. batchGeneratorRutin();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement