timer.js 1.7 KB

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