0

jakeでタスクを10回実行しようとしています:

task 'default', (page) ->
    page = process.env.page
    running = 0
    while running < 10
        ex = jake.createExec(["casperjs test.coffee --page=#{page}"],
            printStdout: true
        )
        ex.run()
        running++
        page++

これにより、テストが 10 回実行されます。これは問題ありません。ただし、順番に実行したいので、たとえば、最初にページ1、次にページ2、次にページ3などとします。最初のページ1は、ページ2を削除する前に終了する必要があります。現時点では、それらを並行して、または非同期で実行します。ご協力いただきありがとうございます。

4

1 に答える 1

1

私はこの種のものにAsyncライブラリを使用します。何かのようなもの:

async = require 'async'
pages = for i in [0...10]
  do ->
    j = i
    -> 
      ex = jake.createExec ["casperjs test.coffee --page=#{j}"],
        printStdout: true
      ex.run()
async.series pages

しかし、なぜそれらを連続して実行する必要があるのか​​ 、少し疑問に思います。

于 2012-11-11T22:49:41.947 に答える