我已经完成了Gulp正在执行的以下任务。
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
script-a
script-b
script-c
与任务script-a
和b
无关(相对而言),大约需要5秒才能运行。
c
和script-b
是相关的,因此必须以串行方式运行,并且每个都要运行一秒钟。
因此,我希望能够与script-c
和a
并行运行b
,同时保持后两者串行。
我目前正在使用runSequence来全部运行它们;
c
我可以让gulp.task('script', function(callback) {
return runSequence(
'script-a',
'script-b',
'script-c',
callback
)
});
与其他任务的一个并行运行;
script-a
但这似乎只是解决问题的一半。似乎答案应该是显而易见的?
答案 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
)
});