Python webapp的预定后台函数

时间:2012-09-11 12:29:13

标签: python web-applications asynchronous background scheduling

我正在尝试为python应用程序制定一个想法。我将尝试列出基本组件。

  • 应该可以通过网络界面或移动应用程序访问,如果可能的话,甚至可以通过Linux控制台访问。

  • 应用程序本身主要在数据库和数据库上进行CRUD操作。返回信息。

  • 此外,最重要的是,它应该能够配置&启动/重新启动预定的后台任务。任务是执行某些I / O操作的功能(将文件从一个文件夹移动到另一个文件夹)。

我在寻找如何接近这个&哪些框架/库最适合此任务。对于Web界面,我认为任何微框架(例如cherrypy / flash / bottlepy)都可以用作RESTful或SOAP api。或者使用twisted?

对于日程安排,我有点卡住了。我看了一下芹菜和芹菜。 reddis队列,但他们似乎都超重我想要的东西。我还看了看APScheduler?我可以将I / O任务作为apscheduler作业启动,还是应该查看其他内容?

谢谢!

1 个答案:

答案 0 :(得分:1)

Python在标准库中不支持cron。但是有第三方图书馆。 crontab看起来不错。

示例:

import crontab
import time

e = crontab.CronTab('*/5 * * * *') # every five minutes
while True:
    delay = e.next()
    time.sleep(delay)
    print("It's time (again)!")

我不会将处理cron事件作为Web应用程序的一部分。构建一个单独的工具,在任何时候循环并完成后台任务。