Grailsプロジェクトでは、ルーチンを作成して、xx秒以内にデータベースにクエリを実行し、見つかったユーザーにメールを送信する必要があります。このルーチンは常に実行されている必要があります。
これを行うための最良の方法を知りたいのですが、プラグインを使用するかどうかにかかわらず、最も簡単な方法を探しています。この同じ質問に対して同様の答えを見つけましたが、Grails / Groovyに関する知識が不足しているため、すべてが十分に明確ではありませんでした。
高度な感謝、RR
これは、 Quartzプラグインを使用して簡単に実行できます
。インストールするには、次を追加します。
compile ':quartz:0.4.2'
BuildConfig.groovyのプラグインセクションに移動し、を実行するgrails compile
か、Grails 2.0を使用している場合はgrails refresh-dependencies
、を実行してプラグインをインストールします。
次に、を使用して新しいジョブを作成できgrails create-job my.package.My
、生成されたクラスを取得しますMyJob
。メソッド内でexecute
コードを記述できます。ロジックを配置するサービスを呼び出すこともできます。サービスは自動的にジョブに注入されるため、必要なのはdef myService
ジョブクラスの先頭に追加することだけです(サービスがMyServiceと呼ばれる場合)
そして、メールを送信するために、メールプラグインがあります