timer.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. var { moralis_config, reids_token_config, account_config, timer_config } = require('../config/config.js')
  2. const redis = require("./db/redis_db") //导入 db.js
  3. const mysql = require("./db/mysql_db")
  4. const moralis = require("./moralis_sdk") //导入 db.js
  5. var utils = require('./utils.js');
  6. const logger = require('./logger')
  7. const interval_delay_time = 5000;
  8. const start_delay_time = 1000;
  9. // 定时任务,归集操作
  10. // setInterval(timedCollectCoins, 10000)
  11. var index = 0;
  12. if (timer_config.OPEN_TIMED_COLLECT_COINS) {
  13. setTimeout(async () => {
  14. while (true) {
  15. await timedCollectCoins();
  16. await utils.sleep(interval_delay_time);
  17. }
  18. }, start_delay_time);
  19. }
  20. async function exec(element) {
  21. logger.log('exec in:', element.user_address, element.chain);
  22. var ret = await moralis.collectCoins({
  23. chain: element.chain,
  24. address: element.user_address
  25. });
  26. logger.log('exec out:', ret);
  27. }
  28. async function timedCollectCoins() {
  29. logger.log('timedCollectCoins exec index', index)
  30. var chainInfos = await mysql.queryAllUserPrivateKeyAndUserAddress();
  31. // console.log('chainInfo', chainInfo);
  32. if (chainInfos && Array.isArray(chainInfos) && chainInfos.length > 0) {
  33. for (var element of chainInfos) {
  34. if (element.user_address != account_config.WELLET_PUBLIC_KEY) {
  35. await exec(element);
  36. }
  37. }
  38. }
  39. index++;
  40. }