1

私はプレイフレームワークを使用するのが初めてで、プレイのリクエスト/レスポンスサイクルに影響を与えずにコードを毎日実行する必要があります! 私はこれJobを遊びの授業で行いましたが、Job実行時間は 30 分強です。私のプレイアプリを実行した後、プレイJobが実行されている間、リクエストを受け入れないことに気付きました。コントローラーのメソッドは、タスクの終了後に応答Jobします。したがって、それはそれらをブロックしていることを意味します。アドバイスをお待ちしています。

import parser.Parser;
import parser.ProductModel;
import play.jobs.Every;
import play.jobs.Job;
import play.jobs.OnApplicationStart;

@OnApplicationStart
@Every("24h")
public class ParserJob extends Job {
//private Parser parser=new Parser();
@Override
public void doJob() throws Exception {
    Parser parser=new Parser();
        long start=System.currentTimeMillis();
        parser.firsatBuFirsat("http://www.firsatbufirsat.com/");
        long finish = System.currentTimeMillis();
        System.out.println("TIME : "+(finish-start)/1000);
    }
}
4

1 に答える 1

1

@OnApplicationStartに変更OnApplicationStart(async = true)

于 2013-03-13T20:04:24.837 に答える