2024-03-29 10:08:31 发布
网友
这种方法的缺点是,有很多方法可能会失败,特别是在停止和重新启动flask应用程序时。
根据您的限制,我建议您采用以下方法:
你只需要编写一个脚本来完成你想要的任何任务,cron就会每隔几分钟帮你运行一次。优点:cron将定期为您运行,并在系统启动时启动。缺点:如果任务花费的时间太长,则可能同时运行多个脚本实例。你可以找到这个问题的一些解决方案。
cron
supervisord是处理不同守护进程的一种简洁方法。您可以将其设置为运行应用程序、后台脚本或both,并让它们从服务器启动。唯一的缺点是必须安装supervisord,并确保服务器启动时其守护进程正在运行。
supervisord
uwsgi是部署flask应用程序的一种非常常见的方法。它几乎没有features可以用来管理后台工作人员。
uwsgi
Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。我认为对于flask应用程序或任何其他基于python的应用程序,这是调度后台任务的最佳解决方案。但使用它会带来额外的体积。您将至少介绍以下过程: -经纪人(rabbitmq或redis) -工人 -调度程序
您还可以让supervisord来管理上面的所有进程,并在服务器启动时让它们启动。
在您减少进程数量的过程中,我强烈建议使用基于crontab的解决方案,因为它可以为您带来很大的帮助。但请确保后台脚本留下执行跟踪或某种类型的日志。
crontab
这种方法的缺点是,有很多方法可能会失败,特别是在停止和重新启动flask应用程序时。
根据您的限制,我建议您采用以下方法:
脚本+crontab
你只需要编写一个脚本来完成你想要的任何任务,
cron
就会每隔几分钟帮你运行一次。优点:cron
将定期为您运行,并在系统启动时启动。缺点:如果任务花费的时间太长,则可能同时运行多个脚本实例。你可以找到这个问题的一些解决方案。主管
supervisord
是处理不同守护进程的一种简洁方法。您可以将其设置为运行应用程序、后台脚本或both,并让它们从服务器启动。唯一的缺点是必须安装supervisord
,并确保服务器启动时其守护进程正在运行。uwsgi
uwsgi
是部署flask应用程序的一种非常常见的方法。它几乎没有features可以用来管理后台工作人员。芹菜
Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。我认为对于flask应用程序或任何其他基于python的应用程序,这是调度后台任务的最佳解决方案。但使用它会带来额外的体积。您将至少介绍以下过程: -经纪人(rabbitmq或redis) -工人 -调度程序
您还可以让
supervisord
来管理上面的所有进程,并在服务器启动时让它们启动。结论
在您减少进程数量的过程中,我强烈建议使用基于
crontab
的解决方案,因为它可以为您带来很大的帮助。但请确保后台脚本留下执行跟踪或某种类型的日志。相关问题 更多 >
编程相关推荐