VBScriptで複数のファイルを非同期で処理する

あわせて読みたい

2件のフィードバック

  1. HASHIMOTO より:

    ロックファイルがあれば
    なくなるのを待って次の処理へ
    行くのは理解できたのですが、
    次にロックファイルを作成する時点で
    ロックファイルが他のプロセスで
    作成されてしまっているという事態には
    ならないでしょうか?

    • Shota より:

      コメントをお寄せいただきありがとうございます。
      この記事を作成した当時、ご指摘の問題については気にしていなかったのですが、確かにその状況は起こり得ます。
      現に、サンプルスクリプトを実行するとログファイルへの書き込みに失敗する場合がありました。ロックファイルが他のプロセスで作成されたこととの因果関係はわかりませんがおそらくそうだと思います。
      この問題を解決できるか色々試した結果、本記事中のasync_function.vbs内でロックファイルを作成できたかチェックする機能をつけることで512回の書き込み(targetフォルダ内のファイル数)は取りこぼしなく処理できました。
      修正内容の詳細については別の記事として取り扱おうと思います(この記事の主題は”並列で実行”でした)のでしばらくお待ちいただければと思います。