我应该为python爬虫程序使用无限循环还是cron作业?

我应该为python爬虫程序使用无限循环还是cron作业?,python,cron,web-crawler,Python,Cron,Web Crawler,我用python编写了一个爬虫程序,它可以访问60多个网站,解析HTML,并将数据保存到数据库中 现在我正在使用cron作业每15分钟运行一次爬虫程序。问题是,我无法判断爬虫程序需要多少时间才能完成(有时可能需要超过15分钟),如果一个爬虫程序已经在运行,我不想运行另一个爬虫程序 我一直在想,使用无限循环是否会更好,并使爬虫程序成为始终运行的永久进程(但如何确保爬虫程序不会失败并退出?以及如何在每次退出时重新启动它?) 哪一个更有效?无限循环或cron作业?您可以尝试。使用周期性调度程序,周期为

我用python编写了一个爬虫程序,它可以访问60多个网站,解析HTML,并将数据保存到数据库中

现在我正在使用cron作业每15分钟运行一次爬虫程序。问题是,我无法判断爬虫程序需要多少时间才能完成(有时可能需要超过15分钟),如果一个爬虫程序已经在运行,我不想运行另一个爬虫程序

我一直在想,使用无限循环是否会更好,并使爬虫程序成为始终运行的永久进程(但如何确保爬虫程序不会失败并退出?以及如何在每次退出时重新启动它?)

哪一个更有效?无限循环或cron作业?

您可以尝试。使用周期性调度程序,周期为20分钟[假设20分钟是所需的最大时间]

from simple_scheduler.recurring import recurring_scheduler
recurring_scheduler.add_job(target=crawler_function, period_in_seconds=20*60)
recurring_scheduler.run()
优点是:

  • 每隔20分钟,就会实例化另一个爬虫程序
  • 若发生错误,以后对爬虫程序的调用将不会受到影响。代码仍在运行