2016-04-04 12 views
0

Grailsサービスを実行するためにGradleタスクを作成することはできますか?Grailsサービスを実行するためのGradleタスク

私のGrailsアプリケーションでは、ターゲットサーバにデプロイするデータを計算するために使用するサービスがあります。通常は、ブラウザからコントローラを呼び出してデータを生成しますが、スクリプトを使用して行います。配備手順に自動コマンドのみを含めるようにします。

注:クラスをインスタンス化することはできません。これは、Hibernateクラスとドメインクラスのコンフィグレーションを使用するためにGrailsを実行する必要があるためです。

答えて

0

可能性がスケジュールにサービスを開始する石英プラグインを使用するには、次のとおりです。

https://grails.org/plugin/quartz

ドキュメントはここで見つけることができます:

http://grails-plugins.github.io/grails-quartz/guide/scheduling.html

仕事を開始しますサービスは単に次のようになります。

class ImportJob { 
    static triggers = { 
     simple name: 'importJob', startDelay: 0, repeatInterval: 500 // execute job once in 500 milliseconds 
    } 

    def ighImportService 

    def concurrent = false 

    def execute() { 
     ighImportService.processNextChunk() 
    } 
} 

この例では、ighImporServiceがimportJobに挿入され、そのprocessNextChunk()メソッドが500ミリ秒ごとにロードされます。

関連する問題