Javascript EventSource: https://github.com/djdmorrison/flask-progress-example
테스트 완료
웹에서 배치 작업을 할때 사용할 수 있을것 같다.
CSV 파일등을 다운로드할 때 진행률과 멈출때 사용하고 싶은데, 어떻게 사용할지 아직 감을 못잡겠다.


jQuery.EventSource: https://github.com/rwaldron/jquery.eventsource
테스트 전
jQuery에서 사용할 수 있을것 같아서 링크를 남김


Python Progress Bar: https://sumit-ghosh.com/articles/python-download-progress-bar/
시간이 많이 걸리는 배치 작업이나, 파일 생성등의 작업시 콘솔에 진행 상황을 표시할 때 유용합니다.

import sys
import time

def numberProgress(max):
    sys.stdout.write('START\n');
    for i in range(0, max):

        # 파일 저장등의 작업

        sys.stdout.write('\r[{} / {}]'.format(i, max))
        sys.stdout.flush()
        time.sleep(1)
    sys.stdout.write('\n')
    sys.stdout.write('END\n');


def symbolProgressBar(max):
    sys.stdout.write('START\n');
    for i in range(0, max+1):

        # 파일 저장등의 작업

        done = int(10 * i / max)
        sys.stdout.write('\r[{}{}]'.format('█' * done, '.' * (10 - done)))
        sys.stdout.flush()
        time.sleep(1)
    sys.stdout.write('\n')
    sys.stdout.write('END\n');


if __name__ == '__main__':
    numberProgress(10)
    symbolProgressBar(100)

결과

START
[1 / 10]  <= 좌측이 [2/ 10] ..., [10 / 10]으로 표시됨
END
START
[█.........]  <=  좌측이 [██........] ..., [██████████]으로 표시됨
END