여러개의 함수를 동시에 실행하고 싶습니다.
4275
작성한 질문수 3
여러개의 함수를 동시에 실행하는 방법을 알고 싶습니다.
답변 2
1
안녕하세요.
데코레이터를 이용하시거나 , 멀티프로세스 등 여러가지 방법이 있습니다.
아래는 멀티프로세스 패키지를 활용한 예시입니다.
from multiprocessing import Process
import sys
rocket = 0
def func1():
global rocket
print 'start func1'
while rocket < sys.maxint:
rocket += 1
print 'end func1'
def func2():
global rocket
print 'start func2'
while rocket < sys.maxint:
rocket += 1
print 'end func2'
if __name__=='__main__':
p1 = Process(target = func1)
p1.start()
p2 = Process(target = func2)
p2.start()
0
안녕하세요, 좋은사람님
샘플 주신 부분을 제 실무에 도입해 봤는 데 정상적으로 동작하지 않아 추가 문의를 합니다.
jupternote에서 하이브 쿼리를 사용하여 하둡 DB에서 로그를 적재 후 수집을 하려고 합니다.
데이터 수집 함수가 많을 때 순차적으로 실행하면 데이터 수집에 많은 시간이 들것으로 예상합니다.
데이터 수집 함수를 동시에 실행하여 수집 세션을 연결하고 데이터를 수집하려고 합니다.
알려주신 멀티 프로세스를 적용하여 아래와 같이 같이 출력되는 것을 확인했습니다.
저와 같은 상황에서도 멀티 프로세스 방식으로 처리하는 것이 좋은지 아니면 다른 방법이 있는 지 문의합니다.
--참고 코드
def 데이터 수집 세션 연결 기능():
#쿼리문을 입력 받아 하이브 세션을 실행
def 데이터수집처리1():
def querry():
# 쿼리문
def loadData():
#SQL 전처리한 결과를 엑셀 문서에 원하는 형태로 처리 후 정리
loadData(데이터 수집 세견 연결 기능(querry()))
def 데이터수집처리2():
def querry():
# 쿼리문
def loadData():
#SQL 전처리한 결과를 엑셀 문서에 원하는 형태로 처리 후 정리
loadData(데이터 수집 세견 연결 기능(querry()))
if __name__=='__main__':
p1 = Process(target = 데이터수집처리1)
p2 = Process(target = 데이터수집처리2)
p1.start()
p2.start()
진도미확인 (진도가 안 넘어감)
0
40
1
RuntimeError: There is no current event loop in thread 'MainThread'
0
84
1
chapter 07-01 실행 오류
0
66
1
Chapter05-04 : sum_func의 합이 이중 출력됩니다.
0
77
2
45. 병렬성 2 - Futures(5-1) wait가 의도된 대로 동작하지 않습니다.
0
92
2
멀티스레딩 - 44. 병렬성 1 - Futures(4-2)
0
70
2
chapter05_02 클로저 질문사항 !
0
51
1
LV1 설정
0
87
2
매직 메소드의 호출 방법 차이 문의
0
131
2
왜 numbers리스트를 만들때 str으로 숫자를 감싸나요?
0
95
2
스크랩핑 실습 중 Mac OS 인증서 문제
0
129
1
AsyncIO 멀티 스크랩핑 실습 예제 관련 질문
0
167
1
강의자료가 영상과 다릅니다
0
255
2
closure.cell_contents 초기화 하기 문의
0
129
2
map함수 사용 시, list변환 방법 문의
0
335
2
__mul__ 백터 * 숫지, 백터 * 백터 처리
0
143
1
del처리후 질문입니다.
0
153
1
car_list(car1,car2,car3) 인스턴스 tuple 타입 문의
0
223
1
coroutine에 대한 질문
0
242
1
제너레이터 이터레이터 질문이 있습니다.
0
249
1
atom install package search not working
0
276
1
Magic Method - Not Implemented
0
395
1
가상환경 질문!
0
402
1
병렬처리 추가 질문이 있습니다.
0
244
1





