fix: ログの修正、ファイル名の日付取得の不具合修正、タイムゾーン利用処理の取り込み
This commit is contained in:
parent
75187e54e9
commit
070763ec8e
@ -106,8 +106,8 @@ class TargetObject():
|
||||
@property
|
||||
def upload_file_name(self) -> str:
|
||||
if self.__dict_checker.check_key_exist(UPLOAD_FILE_NAME_KEY):
|
||||
return self.__object_info[UPLOAD_FILE_NAME_KEY].format(execute_datetime=self.__execute_datetime.to_YYYYMMDDHHMMSS)
|
||||
return f'{self.__object_info[OBJECT_NAME_KEY]}_{self.__execute_datetime.to_YYYYMMDDHHMMSS}'
|
||||
return self.__object_info[UPLOAD_FILE_NAME_KEY].format(execute_datetime=self.__execute_datetime.to_YYYYMMDDHHMMSS())
|
||||
return f'{self.__object_info[OBJECT_NAME_KEY]}_{self.__execute_datetime.to_YYYYMMDDHHMMSS()}'
|
||||
|
||||
@property
|
||||
def datetime_column(self) -> str:
|
||||
|
||||
@ -44,9 +44,9 @@ def controller() -> None:
|
||||
|
||||
# ⑥ 最終結果をチェックし、チェック結果をログに出力
|
||||
if not all([v == 'success' for v in process_result.values()]):
|
||||
logger.error('E-CTRL-01 一部のデータ取得に失敗しています。詳細はログをご確認ください。')
|
||||
logger.error('E-CTRL-01 一部のデータ取得に失敗しています 詳細はログをご確認ください')
|
||||
else:
|
||||
logger.info('I-CTRL-19 すべてのデータの取得に成功しました。')
|
||||
logger.info('I-CTRL-19 すべてのデータの取得に成功しました')
|
||||
|
||||
# ⑦ CRMデータ取得処理終了ログを出力する
|
||||
logger.info('I-CTRL-20 CRMデータ取得処理を終了します')
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
import re
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from datetime import datetime
|
||||
|
||||
from src.system_var.constants import (CRM_DATETIME_FORMAT, CSV_FALSE_VALUE,
|
||||
CSV_TRUE_VALUE,
|
||||
from dateutil.tz import gettz
|
||||
from src.system_var.constants import (CONVERT_TZ, CRM_DATETIME_FORMAT,
|
||||
CSV_FALSE_VALUE, CSV_TRUE_VALUE,
|
||||
DATE_PATTERN_YYYYMMDDHHMMSSFFF_UTC,
|
||||
YYYYMMDDHHMMSS)
|
||||
|
||||
@ -48,7 +49,7 @@ class BooleanConvertStrategy:
|
||||
class DatetimeConvertStrategy:
|
||||
def convert_value(self, convert_value: str) -> str:
|
||||
# データ登録処理がJSTとして登録するため、変換処理内で事前にJSTの日次文字列に変換する
|
||||
return datetime.strptime(convert_value, CRM_DATETIME_FORMAT).astimezone(timezone(timedelta(hours=+9))).strftime(YYYYMMDDHHMMSS)
|
||||
return datetime.strptime(convert_value, CRM_DATETIME_FORMAT).astimezone(gettz(CONVERT_TZ)).strftime(YYYYMMDDHHMMSS)
|
||||
|
||||
|
||||
class FloatConvertStrategy:
|
||||
|
||||
@ -67,12 +67,14 @@ def fetch_crm_data_process(target_object: TargetObject, last_fetch_datetime: Las
|
||||
|
||||
crm_data_response = fetch_sf_data_retry(fetch_soql, target_object_name, data_counter)
|
||||
|
||||
logger.info(f'I-FETCH-05 [{target_object_name}] のレコード取得が成功しました')
|
||||
|
||||
except Exception as e:
|
||||
raise SalesforceAPIException(
|
||||
'E-FETCH-02', FETCH_JP_NAME, f'[{target_object_name}] のレコード取得に失敗しました エラー内容:[{e}]')
|
||||
|
||||
# ④ CRMデータ取得処理終了ログを出力する
|
||||
logger.info(f'I-FETCH-05 [{target_object_name}] のレコード取得が成功しました')
|
||||
logger.info(f'I-FETCH-06 [{target_object_name}] のCRMからのデータ取得処理を終了します')
|
||||
|
||||
# ⑤ 次の処理へ移行する
|
||||
return crm_data_response
|
||||
|
||||
@ -15,6 +15,7 @@ CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT = 'CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT'
|
||||
CRM_FETCH_RECORD_RETRY_INTERVAL = 'CRM_FETCH_RECORD_RETRY_INTERVAL' # CRMのレコード取得処理のリトライ時の初回待ち秒数
|
||||
CRM_FETCH_RECORD_RETRY_MIN_INTERVAL = 'CRM_FETCH_RECORD_RETRY_MIN_INTERVAL' # CRMのレコード取得処理のリトライ時の最小待ち秒数
|
||||
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL = 'CRM_FETCH_RECORD_RETRY_MAX_INTERVAL' # CRMのレコード取得処理のリトライ時の最大待ち秒数
|
||||
CONVERT_TZ = 'CONVERT_TZ' # CRMデータの日時を変換するときのタイムゾーン
|
||||
|
||||
# environments(ECS Task Environment)
|
||||
CRM_AUTH_DOMAIN = 'CRM_AUTH_DOMAIN' # CRMのAPI実行のための認証エンドポイントのドメイン
|
||||
|
||||
@ -35,6 +35,8 @@ CRM_FETCH_RECORD_RETRY_INTERVAL = int(os.environ.get(constants.CRM_FETCH_RECORD_
|
||||
CRM_FETCH_RECORD_RETRY_MIN_INTERVAL = int(os.environ.get(constants.CRM_FETCH_RECORD_RETRY_MIN_INTERVAL, 5))
|
||||
# CRMのレコード取得処理のリトライ時の最大待ち秒数
|
||||
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL = int(os.environ.get(constants.CRM_FETCH_RECORD_RETRY_MAX_INTERVAL, 50))
|
||||
# CRMデータの日時を変換するときのタイムゾーン
|
||||
CONVERT_TZ = os.environ.get(constants.CONVERT_TZ, 'Asia/Tokyo')
|
||||
|
||||
# environments(ECS Task Environment)
|
||||
# CRMのAPI実行のための認証エンドポイントのドメイン
|
||||
|
||||
@ -14,4 +14,4 @@ class ExecuteDateTime:
|
||||
return self.__execute_datetime.rstrip(MILLISEC_FORMAT).translate(str.maketrans({'-': '/', 'T': '/', ':': None, '.': None}))
|
||||
|
||||
def to_YYYYMMDDHHMMSS(self) -> str:
|
||||
return self.__execute_datetime.rstrip(MILLISEC_FORMAT).translate(str.maketrans({'-': None, 'T': None, ':': None, '.': None}))
|
||||
return self.__execute_datetime.rstrip(MILLISEC_FORMAT).translate(str.maketrans({'-': None, 'T': None, ':': None, '.': None}))
|
||||
|
||||
@ -13,4 +13,5 @@ CRM_FETCH_RECORD_TIMEOUT=300
|
||||
CRM_FETCH_RECORD_MAX_RETRY_ATTEMPT=3
|
||||
CRM_FETCH_RECORD_RETRY_INTERVAL=5
|
||||
CRM_FETCH_RECORD_RETRY_MIN_INTERVAL=5
|
||||
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL=50
|
||||
CRM_FETCH_RECORD_RETRY_MAX_INTERVAL=50
|
||||
CONVERT_TZ='Asia/Tokyo'
|
||||
Loading…
x
Reference in New Issue
Block a user