# exec-retry **Repository Path**: mirrors_vadimdemedes/exec-retry ## Basic Information - **Project Name**: exec-retry - **Description**: child_process.exec with retry functionality - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-26 - **Last Updated**: 2025-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # exec-retry [![Circle CI](https://circleci.com/gh/vdemedes/exec-retry.svg?style=svg)](https://circleci.com/gh/vdemedes/exec-retry) `child_process.exec` with a retry functionality using [retry](https://npmjs.org/package/retry). ### Features - Retry a command until success - Set retry options (see [retry](https://www.npmjs.com/package/retry#retry-timeouts-options)) - It even returns streams, just like node's `exec`, **oh wow** - Uses [debug](https://npmjs.org/package/debug) to log useful information ### Installation ``` $ npm install exec-retry --save ``` ### Usage ```javascript const exec = require('exec-retry'); exec('curl https://www.roqet.io', function (err, stdout, stderr) { // done! }); // now set max retries number exec('curl https://www.roqet.io', { retries: 3 }, function (err, stdout, stderr) { // fails after 3 retries }); // and streams! let ps = exec('ping google.com', function () { // done! }); ps.stdout.on('data', function (data) { // stream output }); ``` ### Tests [![Circle CI](https://circleci.com/gh/vdemedes/exec-retry.svg?style=svg)](https://circleci.com/gh/vdemedes/exec-retry) ``` $ make test ``` ### License MIT © [Vadym Demedes](http://vadimdemedes.com)