Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const fs = require('fs');
  2. const path = require('path');
  3. const redis = require('redis');
  4. const bench_path = path.resolve(__dirname, '..', '..');
  5. function get_conf() {
  6. // defaults
  7. var conf = {
  8. redis_async_broker_port: 12311,
  9. socketio_port: 3000
  10. };
  11. var read_config = function (file_path) {
  12. const full_path = path.resolve(bench_path, file_path);
  13. if (fs.existsSync(full_path)) {
  14. var bench_config = JSON.parse(fs.readFileSync(full_path));
  15. for (var key in bench_config) {
  16. if (bench_config[key]) {
  17. conf[key] = bench_config[key];
  18. }
  19. }
  20. }
  21. }
  22. // get ports from bench/config.json
  23. read_config('config.json');
  24. read_config('sites/common_site_config.json');
  25. // detect current site
  26. if (fs.existsSync('sites/currentsite.txt')) {
  27. conf.default_site = fs.readFileSync('sites/currentsite.txt').toString().trim();
  28. }
  29. return conf;
  30. }
  31. function get_redis_subscriber() {
  32. const conf = get_conf();
  33. const host = conf.redis_socketio || conf.redis_async_broker_port;
  34. return redis.createClient(host);
  35. }
  36. module.exports = {
  37. get_conf,
  38. get_redis_subscriber
  39. }