curl-runner-core
Version:
Core library for running cURL scripts with comprehensive logging, error handling, and parallel execution capabilities. Zero external dependencies for maximum security.
63 lines (49 loc) ⢠1.83 kB
JavaScript
/**
* Simple example demonstrating curl-runner-core parallel execution
*
* This example shows how to use the library for basic parallel execution
*/
import { CurlRunner } from 'curl-runner-core';
async function simpleExample() {
console.log('š curl-runner-core Simple Example\n');
// Create runner instance
const runner = new CurlRunner('./scripts', './logs');
try {
// Check available scripts
const scripts = await runner.scanScripts();
console.log(`š Found ${scripts.length} scripts: ${scripts.join(', ')}\n`);
if (scripts.length === 0) {
console.log('ā ļø No scripts found. Please add some .sh files to ./scripts/');
return;
}
// Run scripts in parallel
console.log('ā” Running scripts in parallel...');
const startTime = Date.now();
const results = await runner.runAllScriptsParallel();
const duration = Date.now() - startTime;
// Show results
const successful = results.filter(r => r.success);
const failed = results.filter(r => !r.success);
console.log('\nš Results:');
console.log(`ā
Successful: ${successful.length}`);
console.log(`ā Failed: ${failed.length}`);
console.log(`ā±ļø Duration: ${duration}ms`);
if (successful.length > 0) {
console.log('\nā
Successful scripts:');
successful.forEach(result => {
console.log(` ⢠${result.scriptName}: ${result.duration}ms`);
});
}
if (failed.length > 0) {
console.log('\nā Failed scripts:');
failed.forEach(result => {
console.log(` ⢠${result.scriptName}: ${result.error}`);
});
}
} catch (error) {
console.error('ā Example failed:', error.message);
}
}
// Run the example
simpleExample().catch(console.error);