首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Django和FastCGI管理长时间运行的过程

问题背景:有一个Django+FastCGI的应用程序,需要修改以执行长时间的计算(可能长达半小时或更久)。需要在后台运行计算,并返回“您的作业已启动”类型的响应。...在进程运行期间,进一步访问该URL应返回“您的作业仍在运行”,直到作业完成,此时应返回作业结果。以后任何对该URL的访问都应返回缓存的结果。...对Django不太熟悉,不知道是否有内置的方法来实现想要的功能。尝试通过subprocess.Popen()启动进程,但除了在进程表中留下一个失效的条目之外,它工作正常。...需要一个干净的解决方案,可以在进程完成后删除临时文件和进程的任何痕迹。也尝试了fork()和线程,但还没有想出可行的解决方案。想知道对于看似很常见的用例,是否存在规范的解决方案。...解决方案:可以使用两种可能的解决方案:调度长时任务到长时任务管理程序(可能是上面提到的Django-Queue-Service)。将结果永久保存,无论是文件还是数据库。

14110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Hcode网站的搭建日记(三)django数据库模型类与后台管理admin

    前言 Hcode网站已经正式运行,本网站由Himit_ZH和Howie协同合作搭建,网站的主旨是“记录编程技术,实现在线功能” 这部分我们将建立数据库,创建数据模型,并主要关注 Django 提供的自动生成的管理页面...每一个字段都是Field类的一个实例,例如用于保存字符数据的CharField和用于保存时间类型的DateTimeField,它们告诉Django每一个字段保存的数据类型。...OK 我们打开数据库,发现数据库中多了刚刚创建的表和一些Django默认的表,创建成功。 四、admin后台管理站点 光定义好数据表模型还是不够的。如果只是用sql语句来操作数据库,会有很多不便之处。...所以我们需要给后台管理人员提供相应的管理界面。Django最大的优点之一,就是体贴的为你提供了一个基于项目model创建的一个后台管理站点admin。可以方便的对数据表进行增删改查操作。...五、使用SimpleUI美化后台 simpleui 是django admin的一个主题 是一个基于element-ui+vue开发,重写和优化90%以上的页面。 与suit是同类产品。

    65730

    浅谈微信小程序底层架构

    所以h5页面中长时间的脚本运行可能会导致页面失去响应。 其实,小程序开发过程中我们面对的是iOS和Android微信客户端和辅助开发的小程序开发者工具。...小程序架构 2.1 双线程模型 小程序的渲染层和逻辑层分别由2个线程管理: 渲染层:界面渲染相关的任务全都在WebView线程里执行。一个小程序存在多个界面,所以渲染层存在多个WebView线程。...双线程模型是小程序框架与业界大多数前端Web框架不同之处。基于这个模型,可以更好地管控以及提供更安全的环境。...引入原生组件的优点是: WebWebView setData 2.4 运行机制 2.4.1 启动 热启动:假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台...2.4.2 销毁 只有当小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

    3.3K20

    一线开发大牛带你深入探讨虚拟机运行时的java线程模型

    运行时 运行时,顾名思义是指虚拟机运行的时候,它表征程序执行时的状态,本章将讨论虚拟机运行时涉及的方方面面。...线程创生纪 线程模型描述了Java虚拟机中的执行单元,是所有虚拟机组件的最终使能的对象。了解Java线程模型有助于了解虚拟机运行的概况。Java程序可以轻松创建线程,虚拟机本身也需要创建线程。...解释器、JIT编译器、GC是抽象出来执行某一具体任务的组件,这些组件执行任务时都需要依托线程。所以,为了管理这些五花八门的线程,虚拟机将它们的公有特性抽象出来构成一个线程模型,如图4-1所示。...与前面的JavaThread一样,VMThread只是一个数据结构,要想发挥“可运行”的线程的能力,需要关联一个真正的线程,这个线程就是操作系统线程(OSThread)。...本文给大家讲解的内容是探讨虚拟机运行时的java线程模型 下篇文章给大家讲解的是探讨虚拟机运行时的java线程启动、停止、睡眠与中断; 觉得文章不错的朋友可以转发此文关注小编; 感谢大家的支持!

    58530

    快速对比:Django、Spring Boot、Node.js 和 PHP

    DjangoDjango 是 Python 的 web 框架,提供了很多“开箱即用”的功能,如 ORM、身份验证、自动管理后台等,大大提升了开发效率。...Spring BootSpring Boot 使用 Java 的多线程模型,Java 在并发处理上表现出色。Spring Boot 对并发的支持十分强大,特别适合处理复杂的大型应用程序。3....Node.jsNode.js 采用事件驱动的非阻塞 I/O 模型,特别擅长处理 I/O 密集型任务。Node.js 的单线程机制利用异步回调管理大量并发请求,表现非常出色。4....五、总结通过对 Django、Spring Boot、Node.js 和 PHP 的开发速度、运行速度、并发能力和稳定性的分析,我们可以得出以下结论:Django 和 Node.js 是快速开发的理想选择...,特别适合需要在短时间内交付产品的开发者。

    49810

    Python入门学习笔记4:他人的博客及

    看其他人的学习笔记,可以保证自己不走弯路。并且一举两得,即学知识又学方法!...框架 5.Django项目实战 python面向对象(一) Django~1 项目实战-后台管理系统(一) python面向对象(二) Django~2 项目实战-后台管理系统(二) 面向对象之继承 Django...~3 项目实战-后台管理系统(三) 封装,特性,多态 Django~Models 项目实战-后台管理系统(四) 面向对象进阶(一) Django~表的操作 面向对象进阶(二) Django~Admin...一) 算法基础 SOCKET编程进阶 python面试题(二) 常用算法及其Python实现 python多线程 python面试题(三) 数据结构相关知识 python多线程(二) python面试题...(二) python面试题(八) python并发编程之协程 python面试题(九) python并发之IO模型(一) python并发之IO模型(二) 8.设计模式 9.其他 设计模式(工厂模式

    57430

    太好用了!Python 定时任务调度框架 APScheduler 详解!

    APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。...它提供 7 种调度器,能够满足我们各种场景的需要。(最常用的是前3种) • BlockingScheduler : 调度器在当前进程的主线程中运行,也就是会阻塞当前线程。...• BackgroundScheduler : 调度器在后台线程中运行,不会阻塞当前线程。 • AsyncIOScheduler : 结合 asyncio 模块(一个异步框架)一起使用。...Executors(执行器) 负责处理作业的运行,它们通常通过在作业中提交指定的可调用对象到一个线程或者进城池来进行。当作业完成时,执行器将会通知调度器。 执行器顾名思义是执行调度任务的模块。...如果你想在 Django 中运行,可以考虑django_apscheduler,推荐使用自定义命令,在一个单独的专用进程中执行单个定时任务。

    6K11

    Python 四大主流 Web 编程框架

    但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Python网络框架:Django、Tornado、Flask、Twisted。...强大的URL映射技术:Django使用正则表达式管理URL映射,因此给开发者带来了极高的灵活性。 后台管理系统自动生成:开发者只需通过简单的几行配置和代码就可以实现完整的后台数据管理Web控制台。...错误信息非常完整:在开发调试过程中如果出现运行异常,则Django可以提供非常完整的错误信息帮助开发者定位问题,比如缺少xxx组件的配置引用等,这样可以使开发者马上改正错误。...模型(Model):提供数据访问接口和模块,包括数据字段、元数据、数据关系等的定义及操作。...完全兼容WSGI 1.0标准 WSGI(Web Server Gateway Interface)具有很强的伸缩性且能运行于多线程或多进程环境下,因为Python线程全局锁的存在,使得WSGI的这个特性至关重要

    1.7K31

    花了三个月终于把所有的Python库全部整理了!祝你早日拿到高薪!

    subprocess,调用shell命令的神器argparse,写命令行脚本必备,强大的命令行差数解析工具timeit,计算代码运行的时间等等unp,命令行工具,解压文件。...django-mongodb-engine,Django后台.redisco,一个简单的模型和容器库,使用[Redis]flywheel,Amazon DynamoDB对象映射。...facepy,简易的facebook图形APIgmail,Gmail的Python接口。django-wordpress,Django的WordPress的模型和视图。...django-storages,一组自定义存储Django后台。 glue,胶胶,一个简单的命令行工具,生成CSS Sprites。...ForgeryPy,易用的模拟数据发生器。 radar,雷达,生成随机日期/时间。 FuckIt.py,测试Python代码运行。

    5.3K40

    ​第 07 篇:创作后台开启,请开始你的表演!

    我们在 Django 迁移、操作数据库[1] 中已经创建了一个后台账户,但如果你没有按照前面的步骤创建账户的话,可以进入项目根目录,运行 pipenv run python manage.py createsuperuser...在 admin 后台注册模型 要在后台注册我们自己创建的几个模型,这样 django admin 才能知道它们的存在,注册非常简单,只需要在 blog\admin.py 中加入下面的代码: blog/admin.py...django admin 后台登录页面,输入刚才创建的管理员账户密码就可以登录到后台了。...文章的创建时间和修改时间应该根据当前时间自动生成,而现在是由人工填写,还有就是文章的作者应该自动填充为后台管理员用户,那么这些自动填充数据的字段就不需要在新增文章的表单中出现了。...接下来是填充创建时间,修改时间和文章作者的值。之前提到,文章作者应该自动设定为登录后台发布此文章的管理员用户。

    1.1K20

    资深程序员骆昊:Python从新手到大师,100天完整学习路线

    环境 / Linux环境 / MacOS环境 从终端运行Python程序 - Hello, world / print函数 / 运行程序 使用IDLE - 交互式环境(REPL) / 编写多行代码 /...Day13 - 进程和线程 进程和线程的概念 - 什么是进程 / 什么是线程 / 多线程的应用场景 使用进程 - fork函数 / multiprocessing模块 / 进程池 / 进程间通信 使用线程...HTTP协议 Django框架概述 5分钟快速上手 使用视图模板 Day42 - 深入模型 关系型数据库配置 管理后台的使用 使用ORM完成对模型的CRUD操作 Django模型最佳实践 模型定义参考...工作量估算:将开发任务量化,包括原型、Logo设计、UI设计、前端开发等,尽量把每个工作分解到最小任务量,最小任务量标准为工作时间不能超过两天,然后估算总体项目时间。...通过数据表创建模型(反向工程) python manage.py inspectdb > app/models.py 第94天:网络API接口设计 第95天:使用Django开发项目 项目开发中的公共问题

    4.8K44

    史上最全 python常见面试题(一)

    ,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。...对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。 在多线程环境中,Python 虚拟机按以下方式执行: 1. 设置GIL 2....切换到一个线程去运行 3. 运行: a. 指定数量的字节码指令,或者 b. 线程主动让出控制(可以调用time.sleep(0)) 4. 把线程设置为睡眠状态 5. 解锁GIL 6....linux下的后台进程管理利器 supervisor 每次文件修改后再linux执行 service supervisord restart 如何提高python的运行效率 使用生成器;关键代码使用外部功能包...Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。

    1.6K10

    Python四大主流网络编程框架,你知道么?

    (4)完全兼容 WSGI 1.0 标准 WSGI(Web Server Gateway Interface)具有很强的伸缩性且能运行于多线程或多进程环境下,因为 Python 线程全局锁的存在,使得 WSGI...在开发方法上,Twisted引导程序员使用异步编程模型。Twisted 提供了丰富的Defer、Threading等特性来支持异步编程。...后台管理系统自动生成:开发者只需通过简单的几行配置和代码就可以实现完整的后台数据管理 Web 控制台。...错误信息非常完整:在开发调试过程中如果出现运行异常,则 Django 可以提供非常完整的错误信息帮助开发者定位问题,比如缺少xxx组件的配置引用等,这样可以使开发者马上改正错误。...模型(Model):提供数据访问接口和模块,包括数据字段、元数据、数据关系等的定义及操作。

    2.4K80

    Python定时器APScheduler

    简介:APScheduler是python的一个定时任务调度框架,能实现类似linux下crontab类型的任务,使用起来比较方便。它提供基于固定时间间隔、日期以及crontab配置类似的任务调度。...当调度器是你应用中唯一要运行的东西时使用 2、BlockingScheduler调度器 调用start后主线程不会阻塞。...当你不运行任何其他框架时使用,并希望调度器在你应用的后台执行 二、举个例子 from apscheduler.schedulers.background import BackgroundScheduler...在使用Django框架开发web项目时,通过前端页面灵活设置定时活动的框架,使用方法与APScheduler相同 安装: pip install django-apscheduler 先在settings.py...文件的INSTALLED_APPS中加入django-apscheduler应用 迁移数据库表 python manage.py migrate 在views.py文件中添加开启监控的方法 from

    1.2K20

    跟着官方文档学Python——应用水平扩展:Tengine负载均衡

    在之前的文章《Django应用上线前有哪些注意事项?如何使用同步或异步容器启动Django应用?》...Apache是多线程模型,每个用户请求过来都会使用一个独占的线程去处理,等到它处理完成后这个线程才可以去处理其它的请求。...Nginx是一个异步处理的模型,当一个用户请求过来之后它会去异步处理,异步处理的过程中,这个线程是会释放掉的,这个线程可以同时处理其他用户请求的连接,因此可以支持非常高的并发量,因此目前大多选用Nginx...官网文档链接:http://tengine.taobao.org/ 比如说主动健康检查的功能,在Nginx上只能被动检查,就是说我访问一个页面,只有这个页面出错了,我才能知道它出错,才能判断后续的请求要不要往后台的服务器上去发...在Nginx上有被动的健康检查,在server后有max_fails参数,它控制检查在一定时间之内有多少次尝试失败了,如果失败了,下个周期的请求就不再发到这台服务器上去。

    56800
    领券