# XWJ 交接文件 ###### tags: `HH` - XWJ排程 ## 1. xwj-kernel-engine-plugin http://10.57.232.171:8888/rca/xwj-kernel-engine-plugin - 用途說明: 將test_r表轉換成kernel engine可以處理的格式 - 排程啟動頻率: 1分鐘/1次,同時只有會一個job處理 - Input & Output: - Input minio: `/minio/rca-ftp/Cartridge-Nesta/Data/Bobcat_D_XWJ` - Output minio: `/minio/rca-ftp/Cartridge-Nesta/Data/TEST_DETAIL` ## 2. xwj-kernel-engine http://10.57.232.171:8888/rca/xwj-kernel-engine - 用途說明: 將test_detail單向測試結果表、work_order工單數據、config_component關鍵物料寫入Cockroach DB,並取得工站與測站資料更新到MySQL,給前端使用 - 排程啟動頻率: 1分鐘/1次,同時只有會一個job處理 - Input & Output: - Input minio 1. test_detil 測試細項單: `/minio/rca-ftp/Cartridge-Nesta/Data/TEST_DETAIL` 2. wo 工單 (目前是empty) 3. 2.wo 工單 in minio(目前是empty) - Input Cockroach: 1. part_master(id,scantime,wo,floor),主要是為了要拉樓層(floor)和工單(wo) 2. part_detail(id,scantime,line),主要是為了要拉線別(line) - Output Cockroach: 1. 單向測試結果表: test_detail 2. 工單數據: work_order(目前是empty) 3. 關鍵物料: config_component(目前是empty) - Output MySQL: 1. 測試項目的上下界: product_item_spec 2. 工站對應名稱: product_station 3. 關鍵物料: config_component ## 3. xwj-kernel-engine-bigtable http://10.57.232.171:8888/rca/xwj-kernel-engine-bigtable - 用途說明: 依據資料集設定MySQL三張表(data_set_setting、data_set_station_item、data_set_part),讀取Cockroach db,將test_detail單向測試結果表、work_order工單數據、config_component關鍵物料join後,寫入MySQL DB - 排程啟動頻率: 整點,1小時/1次,同時只有會一個job處理,下次排程啟動時間,是上一個排程執行完的下一個整點。 - Input & Output: - Input Cockroach: 1. test_detail 2. work_order(目前是empty) 3. config_component(目前是empty) 4. part_detail(目前是empty) - Input MySQL: 1. 資料表設定: data_set_setting(UI寫的設定 by product,去看起迄時間內 哪些去要去更新data_set,先刪除再重新create建立) 2. data_set_part(目前是empty) 3. data_set_station_item(by 產品 不同工站 不同測項) - Output MySQL: 1. 資料集大表資料(pk:data_set_id,product,sn,value_rank): data_set_bigtable@${data_set_id} ex:data_set_bigtable@1 2. 更新資料表設定: data_set_setting(排程執行的時間) 3. 更新資料集每個欄位的資料型態: data_set_bigtable_columns columne -> item -> station -> componment -> fixed 4. minio file: {data_base_path}/DATATSET/id 5. data_set_bigtable_execute_time:額外做的table,主要用來記錄每一個資料集大表建立所需要的時間 - 主要做三件事情: (1) 建立資料集大表, 每一個dataset是一張table,例如tableA(data_set_A) , tableB(data_set_B) , tableC(data_set_C) (2) 產生file(上面提到的資料集大表,不過這裡會把欄位給展開) in minio (3) 去更新table(data_set_bigdata_columns)中的資料型別欄位 假設在mysql data_set_setting這個table裡面有一個新的設定data_set_A,假設選了A產品底下的A工站,A1~A3的測項,整點的時候bigtable的程式就會去建立data_seet_A的table。 更新資料型別欄位就是針對“測試項”的值 ![](https://i.imgur.com/OkLkzCv.png) 資料集大表 data_set_bigtable@${data_set_id}: station_info(工站@欄位名稱)、item_info(測項@欄位名稱)、componet_info(關鍵物料@欄位名稱) 各自info對應config-dataset的key(config.dataset.station_info_col、item_info_col、component_info_col) ![](https://i.imgur.com/dq9sDAN.png) - K8S Dashboard: 1. Production (https://10.57.232.61:31963/#!/pod?namespace=rca-cartridge-nesta) 2. FII (https://10.134.224.192:31294/#!/cronjob?namespace=rca-cartridge-nesta) - Daily Task 1. 記錄FII資料集的執行時間: - MySQL Table: data_set_bigtable_execute_time `SELECT id, product, data_set_id, data_set_item_columns, sn_count, start_time, end_time, spend_time FROM rca-cartridge-nesta.data_set_bigtable_execute_time;` - 更新石墨數據(1天/1次): https://shimo.im/sheets/SeHonkQtyiAse59J/dqRDi 2. 每天確認XWJ 3個排程正常運作(只有Cartridge一個BU) - TPE: rca-cartridge-nesta - FII: rca-cartridge-nesta - 查詢追資料進度: - Cockroach table:test_detail, 執行SQL: `select product, max(test_starttime) as latest from test_detail group by product order by latest desc;` - XWJ KE重補資料 1. TPE重補資料: `mv /opt/minio-data/rca-ftp/Cartridge-Nesta/Data/TEST_DETAIL_Failed/201910/01/*/*.txt /opt/minio-data/rca-ftp/Cartridge-Nesta/Data/TEST_DETAIL/2019/08/28/10/00/00` 2. FII重補資料: `mv /minio/rca-ftp/Cartridge-Nesta/Data/TEST_DETAIL_Failed/201909/27/*/*.txt /minio/rca-ftp/Cartridge-Nesta/Data/TEST_DETAIL/2019/10/05/16/08/42`