grunt-wait-server v0.3.1
grunt-wait-server
make grunt wait for server start
Getting Started
This plugin requires Grunt ~0.4.2
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-wait-server --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-wait-server');The "waitServer" task
Overview
In your project's Gruntfile, add a section named waitServer or wait-server to the data object passed into grunt.initConfig().
grunt.initConfig({
waitServer: {
options: {
req: 'http://localhost:8080',
fail: function () {},
timeout: 10 * 1000,
isforce: false,
interval: 800,
print: true
},
server: {
options: {
req: {
url: 'http://localhost:8080',
method: 'HEAD'
}
}
},
remoteServer: {
options: {
req: 'http://example.com',
print: false
}
},
db: {
options: {
net: {
port: 3306
},
timeout: 0
}
}
}
});Options
options.req
Type: string or an options object
Default value: undefined
See request#options for available options.
options.net
Type: options object
Default value: undefined
See net.connect#options for available options.
You must supply either options.req or options.net.
options.fail
Type: function
Default value: function () {}
options.timeout
Type: number
Default value: 10 * 10000 disables the timeout, will wait forever.
options.isforce
Type: boolean
Default value: false
options.interval
Type: number
Default value: 800
options.print
Type: boolean
Default value: true
When options.isforce is true,
the task will continue after options.timeout,
even if the done signal in options.wait never came.
Usage Examples
Default Options
In this example, the waitServer task will wait for the server start with the least options.
grunt.initConfig({
waitServer: {
server: {
options: {
req: 'http://localhost:8080'
}
},
},
});Custom Options
grunt.initConfig({
waitServer: {
server: {
options: {
req: 'http://localhost:8080',
fail: function () {
console.error('the server had not start');
},
timeout: 20 * 1000,
isforce: true,
interval: 200,
print: false
}
}
},
});Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Release History
(Nothing yet)


