diff --git a/ecs/jskult-batch-ultmarc-io/.env.example b/ecs/jskult-batch-ultmarc-io/.env.example index 500f843d..dfbf73e8 100644 --- a/ecs/jskult-batch-ultmarc-io/.env.example +++ b/ecs/jskult-batch-ultmarc-io/.env.example @@ -3,24 +3,21 @@ DB_PORT=************ DB_USERNAME=************ DB_PASSWORD=************ DB_SCHEMA=src05 + LOG_LEVEL=INFO -ULTMARC_DATA_BUCKET=**************** -ULTMARC_DATA_FOLDER=recv -JSKULT_BACKUP_BUCKET=**************** -ULTMARC_BACKUP_FOLDER=ultmarc -VJSK_BACKUP_FOLDER=vjsk +PROCESS_NAME=jskult-batch-ultmarc-io JSKULT_CONFIG_BUCKET=********************** -JSKULT_CONFIG_CALENDAR_FOLDER=jskult/calendar -JSKULT_CONFIG_CALENDAR_HOLIDAY_LIST_FILE_NAME=jskult_holiday_list.txt -VJSK_DATA_SEND_FOLDER=send -VJSK_DATA_RECEIVE_FOLDER=recv -VJSK_DATA_BUCKET=************* -JSKULT_CONFIG_CALENDAR_WHOLESALER_STOCK_FILE_NAME=jskult_wholesaler_stock_input_day_list.txt JSKULT_CONFIG_CONVERT_FOLDER=jskult/convert JSKULT_ULTMARC_HEX_CONVERT_CONFIG_FILE_NAME=ultmarc_hex_convert_config.json -# 連携データ抽出期間 -SALES_LAUNDERING_EXTRACT_DATE_PERIOD=0 -# 洗替対象テーブル名 -SALES_LAUNDERING_TARGET_TABLE_NAME=src05.sales_lau -# 卸実績洗替で作成するデータの期間(年単位) -SALES_LAUNDERING_TARGET_YEAR_OFFSET=5 +ULTMARC_DATA_BUCKET=**************** +ULTMARC_DATA_FOLDER=import +JSK_IO_BUCKET=************* +JSK_DATA_SEND_FOLDER=send +JSKULT_BACKUP_BUCKET=**************** +JSK_BACKUP_FOLDER=jsk/send +DCF_DSF_SEND_FILE_NAME=ult_dcf_dsf.csv + +DB_CONNECTION_MAX_RETRY_ATTEMPT=4 +DB_CONNECTION_RETRY_INTERVAL_INIT=5 +DB_CONNECTION_RETRY_INTERVAL_MIN_SECONDS=5 +DB_CONNECTION_RETRY_INTERVAL_MAX_SECONDS=50 diff --git a/ecs/jskult-batch-ultmarc-io/src/main.py b/ecs/jskult-batch-ultmarc-io/src/main.py index 346cb79e..0f252a89 100644 --- a/ecs/jskult-batch-ultmarc-io/src/main.py +++ b/ecs/jskult-batch-ultmarc-io/src/main.py @@ -14,37 +14,45 @@ batch_context = BatchContext.get_instance() def exec(): + + logger.info('アルトマーク取込/データ出力:開始') + + hdke_tbl_manager = JskultHdkeTblManager() try: - logger.info('アルトマーク取込/データ出力:開始') - hdke_tbl_manager = JskultHdkeTblManager() if not hdke_tbl_manager.can_run_process(): logger.error('日次バッチ処理中日次バッチ処理中またはdump取得が正常終了していないため、日次バッチ処理を終了します。') return constants.BATCH_EXIT_CODE_SUCCESS - - _, _, syor_date = hdke_tbl_manager.get_batch_statuses() - logger.info(f'処理日={syor_date}') - # バッチ共通設定に処理日を追加 - batch_context.syor_date = syor_date - - try: - logger.info('アルトマーク取込:起動') - import_ultmarc_process.exec_import() - logger.info('アルトマーク取込:終了') - except BatchOperationException as e: - logger.exception(f'アルトマーク取込処理エラー(異常終了){e}') - return constants.BATCH_EXIT_CODE_SUCCESS - - try: - logger.info('V実消化用施設データ作成処理:起動') - output_dcf_dsf_data.exec() - logger.info('V実消化用施設データ作成処理:終了') - except BatchOperationException as e: - logger.exception(f'V実消化用施設データ作成処理エラー(異常終了){e}') - return constants.BATCH_EXIT_CODE_SUCCESS - - logger.info('アルトマーク取込/データ出力:終了') + except BatchOperationException as e: + logger.exception(f'日付テーブルチェック処理エラー(異常終了){e}') + # TODO: バッチステータス管理テーブルにエラーを登録 return constants.BATCH_EXIT_CODE_SUCCESS - except Exception as e: - logger.exception(f'日次バッチ処理中に想定外のエラーが発生しました {e}') - raise e + _, _, syor_date = hdke_tbl_manager.get_batch_statuses() + logger.info(f'処理日={syor_date}') + # バッチ共通設定に処理日を追加 + batch_context.syor_date = syor_date + + # TODO: バッチステータス管理テーブルに処理中を登録 + + try: + logger.info('アルトマーク取込:起動') + import_ultmarc_process.exec_import() + logger.info('アルトマーク取込:終了') + except BatchOperationException as e: + logger.exception(f'アルトマーク取込処理エラー(異常終了){e}') + # TODO: バッチステータス管理テーブルにエラーを登録 + return constants.BATCH_EXIT_CODE_SUCCESS + + try: + logger.info('V実消化用施設データ作成処理:起動') + output_dcf_dsf_data.exec() + logger.info('V実消化用施設データ作成処理:終了') + except BatchOperationException as e: + logger.exception(f'V実消化用施設データ作成処理エラー(異常終了){e}') + # TODO: バッチステータス管理テーブルにエラーを登録 + return constants.BATCH_EXIT_CODE_SUCCESS + + # TODO: バッチステータス管理テーブルに処理済を登録 + + logger.info('アルトマーク取込/データ出力:終了') + return constants.BATCH_EXIT_CODE_SUCCESS diff --git a/ecs/jskult-batch-ultmarc-io/src/system_var/environment.py b/ecs/jskult-batch-ultmarc-io/src/system_var/environment.py index 0af7a118..4903ff01 100644 --- a/ecs/jskult-batch-ultmarc-io/src/system_var/environment.py +++ b/ecs/jskult-batch-ultmarc-io/src/system_var/environment.py @@ -8,20 +8,17 @@ DB_PASSWORD = os.environ['DB_PASSWORD'] DB_SCHEMA = os.environ['DB_SCHEMA'] # AWS -ULTMARC_DATA_BUCKET = os.environ['ULTMARC_DATA_BUCKET'] -ULTMARC_DATA_FOLDER = os.environ['ULTMARC_DATA_FOLDER'] -JSKULT_BACKUP_BUCKET = os.environ['JSKULT_BACKUP_BUCKET'] -ULTMARC_BACKUP_FOLDER = os.environ['ULTMARC_BACKUP_FOLDER'] -VJSK_BACKUP_FOLDER = os.environ['VJSK_BACKUP_FOLDER'] +PROCESS_NAME = os.environ['PROCESS_NAME'] JSKULT_CONFIG_BUCKET = os.environ['JSKULT_CONFIG_BUCKET'] -JSKULT_CONFIG_CALENDAR_FOLDER = os.environ['JSKULT_CONFIG_CALENDAR_FOLDER'] -JSKULT_CONFIG_CALENDAR_HOLIDAY_LIST_FILE_NAME = os.environ['JSKULT_CONFIG_CALENDAR_HOLIDAY_LIST_FILE_NAME'] -VJSK_DATA_SEND_FOLDER = os.environ['VJSK_DATA_SEND_FOLDER'] -VJSK_DATA_BUCKET = os.environ['VJSK_DATA_BUCKET'] -JSKULT_CONFIG_CALENDAR_WHOLESALER_STOCK_FILE_NAME = os.environ['JSKULT_CONFIG_CALENDAR_WHOLESALER_STOCK_FILE_NAME'] JSKULT_CONFIG_CONVERT_FOLDER = os.environ['JSKULT_CONFIG_CONVERT_FOLDER'] JSKULT_ULTMARC_HEX_CONVERT_CONFIG_FILE_NAME = os.environ['JSKULT_ULTMARC_HEX_CONVERT_CONFIG_FILE_NAME'] -VJSK_DATA_RECEIVE_FOLDER = os.environ['VJSK_DATA_RECEIVE_FOLDER'] +ULTMARC_DATA_BUCKET = os.environ['ULTMARC_DATA_BUCKET'] +ULTMARC_DATA_FOLDER = os.environ['ULTMARC_DATA_FOLDER'] +JSK_IO_BUCKET = os.environ['JSK_IO_BUCKET'] +JSK_DATA_SEND_FOLDER = os.environ['JSK_DATA_SEND_FOLDER'] +JSKULT_BACKUP_BUCKET = os.environ['JSKULT_BACKUP_BUCKET'] +JSK_BACKUP_FOLDER = os.environ['JSK_BACKUP_FOLDER'] +DCF_DSF_SEND_FILE_NAME = os.environ['DCF_DSF_SEND_FILE_NAME'] # 初期値がある環境変数 LOG_LEVEL = os.environ.get('LOG_LEVEL', 'INFO') @@ -29,10 +26,3 @@ DB_CONNECTION_MAX_RETRY_ATTEMPT = int(os.environ.get('DB_CONNECTION_MAX_RETRY_AT DB_CONNECTION_RETRY_INTERVAL_INIT = int(os.environ.get('DB_CONNECTION_RETRY_INTERVAL', 5)) DB_CONNECTION_RETRY_INTERVAL_MIN_SECONDS = int(os.environ.get('DB_CONNECTION_RETRY_MIN_SECONDS', 5)) DB_CONNECTION_RETRY_INTERVAL_MAX_SECONDS = int(os.environ.get('DB_CONNECTION_RETRY_MAX_SECONDS', 50)) - -# 連携データ抽出期間 -SALES_LAUNDERING_EXTRACT_DATE_PERIOD = int(os.environ['SALES_LAUNDERING_EXTRACT_DATE_PERIOD']) -# 洗替対象テーブル名 -SALES_LAUNDERING_TARGET_TABLE_NAME = os.environ['SALES_LAUNDERING_TARGET_TABLE_NAME'] -# 卸実績洗替で作成するデータの期間(年単位) -SALES_LAUNDERING_TARGET_YEAR_OFFSET = os.environ['SALES_LAUNDERING_TARGET_YEAR_OFFSET']