新起线程任务
来源:互联网 发布:中企动力域名管理 编辑:程序博客网 时间:2024/04/28 03:55
//新起线程清洗 new Thread(new FilterResultThread(filter)).start(); renderJSON(ResultInfo.success(filter,""));
package job;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.persistence.EntityManager;import net.sf.json.JSONObject;import models.FilterResult;import play.Logger;import play.Play;import play.db.jpa.JPA;import play.db.jpa.Transactional;import play.jobs.Every;import play.jobs.Job;import util.Constants;import util.DBHelper;import util.DBUtil;import util.DateUtil;import util.DocUtil;import util.SqlHelper;import util.XString;import com.google.gson.Gson;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;/** * @ClassName: FilterResultJob * @Description: 清洗词 任务 * @author wlj * @date 2016-9-22 下午4:27:29 * */public class FilterResultThread implements Runnable { private FilterResult filter; public FilterResultThread(FilterResult filter) { this.filter = filter; } @Override @Transactional public void run() { if (JPA.local.get() == null) { EntityManager em = JPA.newEntityManager(); final JPA jpa = new JPA(); jpa.entityManager = em; JPA.local.set(jpa); } String et = filter.createTimeStr; updateResult(et, filter); JPA.em().close(); } static String oldet = ""; public static void updateResult(String et, FilterResult filter) { JPA.em().getTransaction().begin(); System.out.println(oldet + "****" + et); HashMap<String, Object> condition = new HashMap<String, Object>(); condition.put("tag", "t" + filter.taskId); condition.put("et", et); condition.put("ps", 5000); condition.put("p", 1); condition.put("sb", "real_time"); condition.put("so", -1); condition.put("ch", "0"); condition.put("status", "0"); JSONObject json = DocUtil.getNewForFilter(condition, true, true, filter.word,filter.userName); List<Map> result=json.getJSONArray("result"); int num=json.getInt("num"); System.out.println("result.size=="+result.size()); if (result.size() <5000 || oldet == et) { System.out.println("完成"); String sql="update filter_result set status='完成' where id="+filter.id; System.out.println(sql); SqlHelper.updateBySql(sql); JPA.em().getTransaction().commit(); } else { oldet = et; et = result.get(result.size() - 1).get("real_time").toString(); String sql="update filter_result set num=num+"+num+" , do_time='"+et+"' where id="+filter.id; System.out.println(sql); SqlHelper.updateBySql(sql); JPA.em().getTransaction().commit(); updateResult(et, filter); } }}
0 0
- 新起线程任务
- java 起新线程处理
- android的ui线程阻塞实验和证明handle.postdelay没有起新线程
- 新博客,走起!
- Android新起线程 http请求数据发送 handler接收处理
- 在新起的线程中根据传入窗口句柄关闭该非模态窗口
- 起一个线程
- 使用NSThread起线程
- 使用NSOperationQueue起线程
- Redis持久化机制原理分析与解惑-为什么Redis进行RDB持久化数据时,新起一个进程而不是在原进程中起一个线程
- html元素新起一行
- 线程--任务
- 线程的起与关
- NSThread起线程用法2
- NSThread起线程用法3
- GCD的简单使用,开辟一条新的线程,让上面的任务串行执行
- 【c++11 新特性应用】利用bind实现通用的混合任务线程池
- 新爹手记之起名篇
- 安卓5.0之后隐式调用Intent开启服务设置
- android RelativeLayout 无法覆盖点击事件解决办法
- MFC下读取 ini文件的数值 (GetCurrentDirectory, GetPrivateProfileInt )
- 阿里云上安装开源数据库PostgreSQL
- IOS 四种延时执行
- 新起线程任务
- Android — 透明度 设置
- Android OEM Fragment 填坑之路
- 信号的发送与捕捉(进程间通信)
- stm8 Slave
- 【27.34%】【codeforces 611D】New Year and Ancient Prophecy
- NodeJS基础(二)——fs文件模块
- java 排序
- bzoj 2657: [Zjoi2012]旅游(journey) (map建图+树的直径)