2013-08-19 3 views
0

저는 Python의 초보자입니다. 항상 실행해야하는 python 스크립트가 있습니다. 이 스크립트는 DB에서 URL을 가져 와서 링크의 활동을 확인하는 몇 가지 함수를 호출합니다. 이 함수는 각 urls (각 url에 고유 한 값이며 url을 검색하는 동안 db에서 가져 오는 값)에 대해 특정 간격으로 실행되어야합니다. 나는 sched 모듈과 cron 탭에 대해서 읽었지 만, 무엇을 사용해야하는지, 그리고 이들을 어떻게 사용하는지 혼란 스럽습니다! 아니면이 모든 것을 구현하는 더 좋은 해결책이 있습니까? 1) 방법이 다른 체크/전화 간격을 url로 각 코드 스크립트 항상 2)을 실행하고 각각의 특정 시간 간격으로 확인하여야한다 내 주요 코드가 될 것입니다 뭔가시간 간격에 해당하는 다른 입력에 대해 동일한 메소드 실행 예약

def checkSublinks(urlId,search,domain,depth_restricted_to,links_restricted_to): 
      #method here 


try: 
    db=MySQLdb.connect("localhost","root","password","crawler") 
    cursor=db.cursor(); 
    query="select * from website" 
    cursor.execute(query) 
    result=cursor.fetchall() 

    for row in result: 

    depth=0 
    maxCountReached=False 
    urlId=row[0] 
    print "Id :",urlId 
    search=row[1] 
    domain=row[2] 
    depth_restricted_to=row[3] 
    links_restricted_to=row[4] 
    website_uptime=row[5] 
    link_uptime=row[6] 
    checkSublinks(urlId,search,domain,depth_restricted_to,links_restricted_to) 

except Exception,e: 
    print e 
    print "Error in creating DB Connection!" 
finally: 
    db.close() 
같은

여기서 각 URL은 해당 시간 간격으로 checkSublinks를 호출합니다. 가장 빠른시기에 귀중한 제안을 요청하십시오.

답변

1

timer 메커니즘이 스레딩 기능으로 제공 될 수 있습니다. 이상적으로 나는 영원히를위한 원본을 달릴 것입니다 - 그리고 각 타이머 간격을 위해, 자료를 읽으 십시요. HTH!

관련 문제