実消化データアーカイブ取得処理を実行する処理の実装とTODOの整理

This commit is contained in:
mori.k 2025-06-03 19:33:00 +09:00
parent 3607229dee
commit fae67ae4e7
3 changed files with 29 additions and 35 deletions

View File

@ -15,8 +15,7 @@ class UpdateBusinessDayEnvironment(JskultBatchEnvironment):
self.TRANSFER_RESULT_FOLDER = environment.TRANSFER_RESULT_FOLDER
self.TRANSFER_RESULT_FILE_NAME = environment.TRANSFER_RESULT_FILE_NAME
self.JSK_RECEIVE_FOLDER = environment.JSK_RECEIVE_FOLDER
self.DATA_IMPORT_BUCKET = environment.DATA_IMPORT_BUCKET
self.DATA_IMPORT_FOLDER = environment.DATA_IMPORT_FOLDER
self.ARCHIVE_STATEMACHINE_ARN = environment.ARCHIVE_STATEMACHINE_ARN
def validate(self):
"""
@ -39,5 +38,5 @@ class UpdateBusinessDayEnvironment(JskultBatchEnvironment):
self.TRANSFER_RESULT_FOLDER, 'TRANSFER_RESULT_FOLDER')
super()._assert_variable_not_empty(
self.TRANSFER_RESULT_FILE_NAME, 'TRANSFER_RESULT_FILE_NAME')
super()._assert_variable_not_empty(self.DATA_IMPORT_BUCKET, 'DATA_IMPORT_BUCKET')
super()._assert_variable_not_empty(self.DATA_IMPORT_FOLDER, 'DATA_IMPORT_FOLDER')
super()._assert_variable_not_empty(self.JSK_RECEIVE_FOLDER, 'JSK_RECEIVE_FOLDER')
super()._assert_variable_not_empty(self.ARCHIVE_STATEMACHINE_ARN, 'ARCHIVE_STATEMACHINE_ARN')

View File

@ -1,7 +1,8 @@
import json
import boto3
from datetime import datetime
from src.batch.jskult_batch_entrypoint import JskultBatchEntrypoint
from src.aws.s3 import (JskTransferListBucket, JskIOBucket)
from src.aws.s3 import JskTransferListBucket
from src.batch.environment.update_business_day_environment import \
UpdateBusinessDayEnvironment
from src.manager.jskult_batch_run_manager import JskultBatchRunManager
@ -65,19 +66,24 @@ class UpdateBusinessDay(JskultBatchEntrypoint):
logger.info('処理待実消化アルトマーク_日付テーブル更新')
return
_, _, process_date = jskult_hdke_tbl_manager.get_batch_statuses()
# archive取得日calendarの取得
get_archive_calendar = None
try:
if get_archive_calendar == process_date:
logger.info('[NOTICE]実消化データアーカイブ取得処理を実行します。')
# 処理ステータスを「処理中」に設定
jskult_batch_status_manager.set_process_status(
constants.PROCESS_STATUS_DOING)
# TODO アーカイブ取得日カレンダーを取得する
get_archive_calendar = None
# 日付テーブルの処理年月日を取得する
_, _, process_date = jskult_hdke_tbl_manager.get_batch_statuses()
if get_archive_calendar == process_date:
logger.info('I-7 [NOTICE]実消化データアーカイブ取得処理を実行します。')
# 実消化データアーカイブ取得処理を起動する
sfn_client = boto3.client('stepfunctions')
# StepFunctionsを起動する
response = sfn_client.start_execution(
stateMachineArn=self.environment.ARCHIVE_STATEMACHINE_ARN
)
dt = datetime.strptime(process_date, "%Y/%m/%d")
# 日付テーブルの処理年月日が月曜日の場合
@ -85,25 +91,10 @@ class UpdateBusinessDay(JskultBatchEntrypoint):
if not JskultBatchStatusManager.is_done_ultmarc_import():
logger.info('[NOTICE]アルトマーク取込稼働日でしたが、アルトマーク取込が行われませんでした。')
# 転送ファイル一覧を取得
try:
transfer_list_bucket = JskTransferListBucket()
transfer_list_file_path = transfer_list_bucket.download_transfer_result_file(
process_date)
except Exception as e:
logger.exception(f'転送ファイル一覧の取得に失敗しました。 {e}')
# バッチ実行管理テーブルをfailedで登録
jskult_batch_run_manager.batch_failed()
with open(transfer_list_file_path) as f:
transfer_list = json.load(f)
try:
jsk_io_bucket = JskIOBucket()
jsk_receive_file_list: str = jsk_io_bucket.get_file_list()
except Exception as e:
logger.exception(f'実消化データリスト取得に失敗しました。{e}')
return constants.BATCH_EXIT_CODE_SUCCESS
# TODO 実消化転送データ一覧を取得する
jsk_receive_file_list = None
# TODO 実消化&アルトマーク_実消化受領予定データリストを取得する
transfer_list = None
if transfer_list is not None:
# TODO jsk_receive_file_listと比較して結果不足ファイルがあった場合(I-5)ログ出力

View File

@ -22,8 +22,12 @@ JSKULT_BACKUP_BUCKET = os.environ.get('JSKULT_BACKUP_BUCKET', None)
JSK_IO_BUCKET = os.environ.get('JSK_IO_BUCKET', None)
JSK_BACKUP_FOLDER = os.environ.get('JSK_BACKUP_FOLDER', None)
JSK_DATA_SEND_FOLDER = os.environ.get('JSK_DATA_SEND_FOLDER', None)
JSK_RECEIVE_FOLDER = os.environ.get('JSK_RECEIVE_FOLDER', None)
BATCH_MANAGE_DYNAMODB_TABLE_NAME = os.environ.get(
'BATCH_MANAGE_DYNAMODB_TABLE_NAME', None)
ARCHIVE_STATEMACHINE_ARN = os.environ(
'ARCHIVE_STATEMACHINE_ARN', None
)
# 初期値がある環境変数