---
# System prepended metadata

title: XWJ 交接文件
tags: [HH]

---

# 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`
