异步执行服务器端Unix脚本

时间:2009-12-13 21:07:43

标签: python http unix asynchronous

我们有一系列Unix脚本(和/或Python模块),每个脚本执行一个长时间运行的任务。我想为他们提供一个Web界面,它可以执行以下操作:

  • 要求将相关数据传递给脚本。
  • 允许开始/停止/杀死它们。
  • 允许监控脚本提供的进度和/或其他信息。
  • 可能是某种日志记录(尽管脚本已经进行了日志记录)。

我知道如何编写一个执行此操作的服务器(例如,通过使用Python的内置HTTP服务器/ JSON),但正确执行此操作并非易事,我不想重新发明轮子。

是否存在允许维护异步服务器端任务的现有解决方案?

3 个答案:

答案 0 :(得分:1)

Django非常适合编写Web应用程序,而子进程模块(subprocess.Popen en .communicate())非常适合执行shell脚本。如果需要,可以给它一个stdin,stdout和stderr流进行通信。

答案 1 :(得分:1)

回答我自己的问题,我最近看到了Celery 1.0的宣布,这似乎是我正在寻找的大部分内容。

答案 2 :(得分:0)

我会使用SGE,但我认为你的需要可能有点过分......