Mass_parse: Update wkr_id in resume cmd

pull/620/head
gnosygnu 8 years ago
parent 3a3bc01e82
commit 99c968e1e2

@ -23,6 +23,7 @@ class Xomp_make_merger__lnki_temp extends Xomp_make_merger__base {
private Xob_lnki_temp_tbl trg_tbl__lnki_temp; private Xob_lnki_temp_tbl trg_tbl__lnki_temp;
@Override protected Db_tbl Init__trg_tbl(Xob_db_file trg_db) { @Override protected Db_tbl Init__trg_tbl(Xob_db_file trg_db) {
this.trg_tbl__lnki_temp = new Xob_lnki_temp_tbl(trg_db.Conn()); this.trg_tbl__lnki_temp = new Xob_lnki_temp_tbl(trg_db.Conn());
trg_db.Conn().Meta_tbl_remake(trg_tbl__lnki_temp);
return trg_tbl__lnki_temp; return trg_tbl__lnki_temp;
} }
@Override protected String Init__src_fld__page_id() {return "lnki_page_id";} @Override protected String Init__src_fld__page_id() {return "lnki_page_id";}

@ -26,21 +26,22 @@ class Xomp_resume_mgr {
// clear out page_status // clear out page_status
Gfo_usr_dlg_.Instance.Prog_many("", "", "xomp_resume:clearing status"); Gfo_usr_dlg_.Instance.Prog_many("", "", "xomp_resume:clearing status");
mgr_conn.Exec_sql("UPDATE xomp_page SET page_status = 0"); mgr_conn.Exec_sql("UPDATE xomp_page SET page_status = 0, xomp_wkr_id = -1");
// update mgr.xomp_page.status for each row in wkr.html // update mgr.xomp_page.status for each row in wkr.html
Db_attach_mgr attach_mgr = new Db_attach_mgr(mgr_conn); Db_attach_mgr attach_mgr = new Db_attach_mgr(mgr_conn);
int wkrs_len = mgr_db.Tbl__wkr().Select_count(); int wkrs_len = mgr_db.Tbl__wkr().Select_count();
for (int i = 0; i < wkrs_len; ++i) {
Gfo_usr_dlg_.Instance.Prog_many("", "", "xomp_resume:updating status; wkr=~{0}", i);
Xomp_wkr_db wkr_db = Xomp_wkr_db.New(mgr_db.Dir(), i);
attach_mgr.Conn_links_(new Db_attach_itm("wkr_db", wkr_db.Conn()));
String sql = Db_sql_.Make_by_fmt String sql = Db_sql_.Make_by_fmt
( String_.Ary ( String_.Ary
( "UPDATE xomp_page" ( "UPDATE xomp_page"
, "SET page_status = 1" , "SET page_status = 1"
, ", xomp_wkr_id = {0}"
, "WHERE page_id IN (SELECT page_id FROM <wkr_db>html)" , "WHERE page_id IN (SELECT page_id FROM <wkr_db>html)"
)); ), i);
for (int i = 0; i < wkrs_len; ++i) {
Gfo_usr_dlg_.Instance.Prog_many("", "", "xomp_resume:updating status; wkr=~{0}", i);
Xomp_wkr_db wkr_db = Xomp_wkr_db.New(mgr_db.Dir(), i);
attach_mgr.Conn_links_(new Db_attach_itm("wkr_db", wkr_db.Conn()));
attach_mgr.Exec_sql(sql); attach_mgr.Exec_sql(sql);
} }
} }

Loading…
Cancel
Save