我在论坛上搜索了我的问题,但我要么是在寻找一个错误命名的东西,要么是我很怀疑的问题。
我正在开发一个网络应用程序,它将在一个MVC框架(如django或甚至烧瓶)中编写一个Web界面,允许用户登录,识别用户会话并允许进行一些设置以及我的应用程序需求在服务器上运行一些python进程(基本上是一个单独的文件),每个会话按用户进行设置。这个过程很长 - 可能需要几天才能执行,不应该影响应用程序的MVC部分的执行和性能。另一个问题是应该按用户运行此过程,因此此类应用程序的基本使用模型将是: 1.用户进入网站。 2.用户进行一些镜像到数据库的设置。 3.用户使用他所做的设置推送启动按钮,该按钮仅为该用户执行一些python脚本。 4.用户能够根据脚本本身生成的一些消息监视运行的脚本的某些参数。
我明白我的问题与应用程序本身的架构有关,我对python很新,并且没有任何开发这种复杂应用程序的经验,但我也非常渴望了解它。我确实理解应该构建我的应用程序的砖块(如django或flask和服务器端脚本本身)但我对如何将这些元素粘合在一起以创建无缝环境知之甚少。请指导我一些与此主题相关的文章或推荐一些类似的主题,或者只是给出一个明确的高级解释,说明如何从MVC的控制器部分基于每个用户进一步触发,运行和监视这些单独的python进程。
答案 0 :(得分:0)
Celery是您的完美解决方案。
Celery可以轻松地执行长任务,但您必须编写监控部分。这很简单 - 你可以从芹菜任务中使用django-orm。
不要使用django-celery或flask-celery应用 - 不推荐使用它们。
答案 1 :(得分:0)
Celery是一个很好的解决方案,但对于许多设置来说它可能会被制服。如果你只需要定期运行任务(每小时一次,每天一次等),那么考虑只使用cron。
设置很少,它可以让你走得很远。