调度相同的方法以针对与其时间间隔对应的不同输入运行

时间:2013-08-19 11:06:54

标签: python scheduled-tasks schedule

我是Python的初学者。我有一个需要始终执行的python脚本。该脚本从DB获取一些URL并调用一些函数来检查链接的活动。这些函数应该以特定的时间间隔为每个URL执行(特定于每个URL的值,并在检索URL时从db获取)。我读到了sched模块和cron选项卡,但对使用什么以及如何使用它们实现所有这些感到困惑!或者是否有更好的解决方案来实现所有这些? 1)始终运行脚本 2)在每个url的代码中,调用/检查方法的间隔是不同的,并且每个url应该在其特定的时间间隔内进行检查 我的主要代码将是

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 个答案:

答案 0 :(得分:1)

您可以尝试在线程功能下提供的timer机制。理想情况下,我将永远运行一个脚本 - 并且对于每个定时器间隔,读取数据。 HTH!