Break up prod import script into pieces and move csv scripts into folder
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
const { updateProgress, outputProgress, formatElapsedTime } = require('./utils');
|
||||
const { outputProgress, formatElapsedTime, estimateRemaining, calculateRate } = require('../metrics/utils/progress');
|
||||
|
||||
async function importPurchaseOrders(prodConnection, localConnection) {
|
||||
outputProgress({
|
||||
@@ -257,26 +257,32 @@ async function importPurchaseOrders(prodConnection, localConnection) {
|
||||
// Update progress based on time interval
|
||||
const now = Date.now();
|
||||
if (now - lastProgressUpdate >= PROGRESS_INTERVAL || processed === totalItems) {
|
||||
updateProgress(processed, totalItems, "Purchase orders import", startTime);
|
||||
outputProgress({
|
||||
status: "running",
|
||||
operation: "Purchase orders import",
|
||||
current: processed,
|
||||
total: totalItems,
|
||||
elapsed: formatElapsedTime(startTime),
|
||||
remaining: estimateRemaining(startTime, processed, totalItems),
|
||||
rate: calculateRate(startTime, processed)
|
||||
});
|
||||
lastProgressUpdate = now;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const endTime = Date.now();
|
||||
outputProgress({
|
||||
operation: `Purchase orders import complete`,
|
||||
status: "complete",
|
||||
processed_records: processed,
|
||||
total_records: totalItems,
|
||||
timing: {
|
||||
start_time: new Date(startTime).toISOString(),
|
||||
end_time: new Date(endTime).toISOString(),
|
||||
elapsed_time: formatElapsedTime((endTime - startTime) / 1000),
|
||||
elapsed_seconds: Math.round((endTime - startTime) / 1000)
|
||||
}
|
||||
operation: "Purchase orders import completed",
|
||||
current: totalItems,
|
||||
total: totalItems,
|
||||
duration: formatElapsedTime(Date.now() - startTime),
|
||||
});
|
||||
|
||||
return {
|
||||
status: "complete",
|
||||
totalImported: totalItems
|
||||
};
|
||||
} catch (error) {
|
||||
outputProgress({
|
||||
operation: "Purchase orders import failed",
|
||||
|
||||
Reference in New Issue
Block a user