Currently, Skeletor runs all tasks simultaneously. There are two scenarios where tasks should be run serially:
The same task should not be run than once at a time, as it may interfere with itself. This can happen when a watcher fires off a long-running task (like JS bundling) multiple times in a short time span. Skeletor should wait until the current task is complete before executing the task again.
Some tasks are dependent on other tasks completing first. For example, an Image Optimization task may consist of two sub-tasks: 1) optimize image, and 2) copy optimized image to another folder. Subtask #2 should not run until Subtask #1 is complete. We need a way to specify in the task configuration whether tasks should be run serially or simultaneously.
All this will mean that a task queue will need to be implemented for Skeletor.
Currently, Skeletor runs all tasks simultaneously. There are two scenarios where tasks should be run serially:
All this will mean that a task queue will need to be implemented for Skeletor.