실행중인 작업의 상태를보기 위해 MSSQL 데이터베이스를 폴링해야합니다. X 초마다 상태 확인을 실행하여 상태가 완료되었는지 확인하고 싶습니다. 스레딩 모듈을 사용하려고합니다. 몇 가지 간단한 print 문을 사용하여 스레딩 모듈을 테스트했는데 작동하는 것처럼 보입니다.하지만 내 pymssql 스크립트 내부에서 시도 할 때 그렇지 않습니다. 나는 끊임없이 '보는'문 인쇄를 참조에설정된 간격으로 Python 폴링 MSSQL
def watcher_query(cursor):
print 'Watching'
return cursor.execute(""" select *
from some_table' """)
def is_it_done(row):
if row['status'] == 'done':
return row['the_id'], True
else:
return row['the_id'], False
def d(cur):
watcher_query(cur)
for row in cur:
return is_it_done(row)[1]
threading.Timer(100, d).start()
def job_watch(server):
with pymssql.connect(server_info) as conn:
with conn.cursor(as_dict=True) as cur:
is_done = false
while is_done:
is_done = d(cur)
는 상관없이 나는 threading.Timer
을 설정합니다. 아마도 폴링 타이머를 설정하는 더 좋은 방법이 있을까요?
또한 Twisted를 사용하여 일부 조건이 충족 될 때까지 모든 X 초마다 함수를 호출하는 기본 함수를 설정하려고했습니다. 아직 MSSQL을 사용해 보지 못했습니다.