grunt-periodic
v1.1.0
Published
Grunt task to run other tasks once a given time period - e.g. once a day, once an hour etc.
Downloads
3
Readme
grunt-periodic
Grunt task to run other tasks once a given time period - e.g. once a day, once an hour etc
Useful for tasks which do not need to run every build, such as one time generation of test data or a weekly clean up of log files.
Getting Started
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-periodic --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-periodic');
*This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade.
periodic task
Run this task with the grunt periodic
command.
Task targets and options may be specified according to the grunt Configuring tasks guide.
Config
when
Type: String
Specifies when to run the tasks e.g. "hourly" The tasks will be executed a maximum of once every hour.
One of: "build", "hourly", "daily", "weekly", "monthly", "yearly", "checkout", "newer"
- "build" runs once a build. This is the equivalent of not using the grunt-periodic task.
- "checkout" runs only once for the project. It will not be run again, unless a clean checkout of the project is made.
- "newer" takes an extra
files
glob and runs if any of the matching files are modified. Note: this is not awatch
feature.
Note that this is only the maximum time period. If the build is not run, the tasks will not be executed.
tasks
Type: Array
A list of tasks to execute. Tasks may be specified according to the grunt Task Alias guide.
files, src
Type: 'Grunt File Format'
Any of the grunt file definitions http://gruntjs.com/configuring-tasks#files
Only used by the newer
type, specfies the files to watch for modification.
Options
runFirstTime
Type: Boolean
Default: true
Whether to run the tasks during the first build of the project.
Note if set to false
with the option of checkout
for when
property, then no tasks will be run.
Usage Examples
periodic: {
// Run 'npm-install' once a day - to keep deps up to date
update: {
when: "daily",
tasks: ["npm-install"]
},
// Clear out test DB logs once a week
"clear-logs": {
when: "weekly",
tasks: ["clean:logs"]
}
}