Gulp Task Order - Serial&平行

时间:2017-03-07 17:13:11

标签: gulp run-sequence

我已经完成了Gulp正在执行的以下任务。

  1. Sub uploadToDB() Dim SQL As String dbPath = "C:\Users\john.smith\Desktop\database.accdb" wbName = "C:\Macros\" & ActiveWorkbook.Name & ".xlsm" wsname = "Staging" TableName = "dataTable" Set cn = CreateObject("ADODB.Connection") scn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbPath cn.Open scn 'find number of data points to add row = Sheets(wsname).Range("A1").End(xlDown).row SQL = "INSERT INTO " & TableName & " ([field1],[field2],[field3],[field4],[field5],[field6],[field7],[field8]) " SQL = SQL & "SELECT * FROM [Excel 12.0 Macro;HDR=YES;DATABASE=" & wbName & "].[" & wsname & "$A1:H" & row & "]" '" & wsName cn.Execute SQL cn.Close Set cn = Nothing End Sub
  2. script-a
  3. script-b
  4. script-c与任务script-ab无关(相对而言),大约需要5秒才能运行。

    cscript-b是相关的,因此必须以串行方式运行,并且每个都要运行一秒钟。

    因此,我希望能够与script-ca并行运行b,同时保持后两者串行。

    我目前正在使用runSequence来全部运行它们;

    c

    我可以让gulp.task('script', function(callback) { return runSequence( 'script-a', 'script-b', 'script-c', callback ) }); 与其他任务的一个并行运行;

    script-a

    但这似乎只是解决问题的一半。似乎答案应该是显而易见的?

1 个答案:

答案 0 :(得分:0)

您可以尝试将script-b和script-c分组到另一个任务中,然后在任务script中并行运行。像这样:

// script-b and script-c run in serial
gulp.task('scriptsBC', function(callback){
  return runSequence(
    'script-b',
    'script-c',
    callback
  )
})

// script-a and scriptBC run in paralell
gulp.task('script', function(callback) {
  return runSequence(
    ['script-a','scriptsBC'],
    callback
  )
});
相关问题