UNPKG

@qso-soft/shared

Version:

Shared library for QSO-soft

45 lines 2.2 kB
import { saveFailedWalletsToCSV } from '../file-handlers'; import { getSavedModules, savePreparedModules, updateSavedModulesFinishStatus } from '../modules/save-modules'; import { initLocalLogger } from '../show-logs'; import { prepareSavedWalletsWithModules, prepareWalletsData } from '../wallets'; import { startWithThreads } from './threads'; export const restartLast = async ({ logsFolderName, projectName, startModulesCallback, clientToPrepareWallets, savedModules: savedModulesProp, walletsWithModules: walletsWithModulesProp, }) => { await prepareWalletsData({ projectName, logsFolderName, client: clientToPrepareWallets }); const { threads } = QsoGlobal.settings; const savedModules = savedModulesProp || getSavedModules(projectName); const lastRoute = savedModules.route || ''; const logger = initLocalLogger(logsFolderName, lastRoute); logger.setLoggerMeta({ moduleName: 'RestartLast' }); try { const walletsWithModulesToRestart = walletsWithModulesProp || prepareSavedWalletsWithModules(savedModules); if (!walletsWithModulesToRestart || !walletsWithModulesToRestart.length) { logger.success('Nothing to restart'); return; } savePreparedModules({ walletsWithModules: walletsWithModulesToRestart, route: lastRoute, projectName, }); logger.success(`Starting script in [${threads}] threads`); const threadsResults = await startWithThreads({ size: threads, array: walletsWithModulesToRestart, callback: async (walletWithModules, _, currentWalletIndex) => startModulesCallback({ walletWithModules, logsFolderName, walletsTotalCount: walletsWithModulesToRestart.length, currentWalletIndex, }), logger, }); const results = threadsResults.flat(); updateSavedModulesFinishStatus({ projectName }); saveFailedWalletsToCSV({ results, logger, projectName }); } catch (error) { logger.error(`${error}`, { status: 'failed' }); } return; }; //# sourceMappingURL=restart-last.js.map