fork(1) download
  1. import argparse
  2. import datetime
  3. import logging
  4. import logging.config
  5. import os
  6. import sys
  7. import time
  8. def str_to_datetime(_str):
  9. return datetime.datetime.strptime(_str, "%Y%m%d")
  10. def get_date_with_offset(_initial, _offset):
  11. __diff = datetime.timedelta(days=_offset)
  12. return _initial+__diff
  13. def datetime_to_str(_date):
  14. return _date.strftime("%Y%m%d")
  15. def get_current_timestamp():
  16. return int(time.time())
  17. def datetime_to_str_fmt(_date, _format):
  18. return _date.strftime(_format)
  19. def datetime_to_str_fmt(datetime, format):
  20. return datetime.strftime(format)
  21. def gen_index_info(add_days, es_default_map):
  22. index_name_holder = es_default_map['index'] + '_{dt}'
  23. index_date = datetime.datetime.strptime(es_default_map['start_date'], '%Y%m%d') + datetime.timedelta(add_days)
  24. index_date_map = {}
  25. index_date_map['index'] = str(index_name_holder).replace('{dt}', datetime_to_str_fmt(index_date, '%Y%m%d'))
  26. index_date_map['__addday'] = datetime_to_str_fmt(index_date, '%Y%m%d')
  27. return index_date_map
  28. def process_args():
  29. parser = argparse.ArgumentParser(usage='%(prog)s [options]')
  30. parser.add_argument('--index_prefix', type=str, default='paytm_', dest='index_prefix', help='set index prefix')
  31. parser.add_argument('--index_name', type=str, default='user_consume_index_', dest='index_name',help='set index name')
  32. parser.add_argument('--start_at', type=str, default=datetime_to_str_fmt(datetime.datetime.now(), '%Y%m%d'),dest='start_date', help='set start date,format:%Y%m%d')
  33. parser.add_argument('--end_at', type=str, default=datetime_to_str_fmt(datetime.datetime.now(), '%Y%m%d'),dest='end_date', help='set end date,format:%Y%m%d')
  34. args = parser.parse_known_args()
  35. es_default_map = {}
  36. es_default_map['index_prefix']=args[0].index_prefix
  37. es_default_map['index_name']=args[0].index_name
  38. es_default_map['index'] = args[0].index_prefix +'_' + args[0].index_name
  39. es_default_map['start_date']=args[0].start_date
  40. es_default_map['end_date']=args[0].end_date
  41. es_default_map['host']='http://172.20.0.35:9200'
  42. print(es_default_map)
  43. return es_default_map
  44. def create_process(es_default_map):
  45. strt_date=str_to_datetime(es_default_map['start_date'])
  46. end_date = str_to_datetime(es_default_map['end_date'])
  47. cursor = strt_date
  48. offset = 0
  49. print(get_date_with_offset(cursor, 1))
  50. while cursor <= end_date:
  51. index_info = gen_index_info(offset, es_default_map)
  52. query_url = '%s/%s' % (es_default_map['host'], index_info['index'])
  53. offset+=1
  54. cursor = get_date_with_offset(cursor, 1)
  55. print(query_url)
  56. print(index_info)
  57. print(cursor)
  58. if __name__ == '__main__':
  59. es_default_map=process_args()
  60. create_process(es_default_map)
Success #stdin #stdout 0.05s 12784KB
stdin
Standard input is empty
stdout
{'index_prefix': 'paytm_', 'index_name': 'user_consume_index_', 'index': 'paytm__user_consume_index_', 'start_date': '20210116', 'end_date': '20210116', 'host': 'http://172.20.0.35:9200'}
2021-01-17 00:00:00
http://172.20.0.35:9200/paytm__user_consume_index__20210116
{'index': 'paytm__user_consume_index__20210116', '__addday': '20210116'}
2021-01-17 00:00:00