Drushでバッチジョブを実行しようとしています。 drushを使用したバッチジョブの処理 にはいくつかのドキュメントがありますが、それを理解することはできません。
実際のコードと、それを実行するためのCLI要件/手順を確認してください。Drushから呼び出されたときに、操作ごとに1回、「Hello world」などの簡単なものを出力します。
私はdrush CLIコマンドを書きました。いくつかのBatch APIプロセスも作成しました。あなたが尋ねてきた個々のトピックごとに、たくさんのドキュメントがあります。
特にDrushを介してBatch APIを使用する理由がわかりません。バッチAPIの一部は、長いPHPプロセスでHTTPリクエストのタイムアウトを回避するために使用されます。コマンドラインからDrushを使用している場合、max_execution_time
php.iniから本質的に心配する...
編集: Migrate ソースを調べて、drush cliからBatchを実行する方法を確認しましたか?
Drushコアのupdatedbコマンドを見てください。これはバッチシステムを使用しています。 CCKプロジェクトの一部であるDrupal 7 content_migrate Drushコマンドを確認することもできます。
Drushのバッチシステムを使用する主な理由は、各バッチを個別のコマンドラインプロセスで実行するためです。これにより、致命的なエラー(アップグレード/移行タイプのシステムを開発するときに非常に便利なため、可能な限り完了し、エラーに戻って確認することができます)、およびメモリを制限する機能が提供されます-タイムアウトは無制限でも可能ですphp.iniの無制限のメモリ、Drupal静的キャッシュおよびその他のものは、最終的にサーバーのすべてのメモリを使用します(私は過去に8GB以上を使用しました)。十分に複雑。