python - 在 Python 中具有更大程度控制的 HTTPServer
问题描述
我有一个相当简单的问题,我想用 Python 解决。
我想要一个具有以下行为的网络服务器:如果它收到一个 POST 请求/work
,那么它应该将它添加到工作队列并在附加的数据上执行一些函数。如果它收到一个 POST 请求,/cancel
它应该取消它当前的任务。
不幸的是,我似乎可以让 aBaseHTTPRequestHandler
处理多个请求的唯一方法是使用 a ThreadingMixIn
,但这似乎不必要地复杂,因为我必须使用一组锁来防止多个工作任务同时执行。
我尝试使用BaseHTTPRequestHandler
没有 a 的 aThreadingMixIn
并且只是在 中分离线程do_POST
,但这不起作用,因为当函数返回时显然BaseHTTPRequestHandler
关闭了它的连接。do_POST
理想情况下,我正在寻找一个接口,使我能够按照自己的条件关闭与客户端的连接,因此我可以在工作线程中完成,并自己管理队列,而不是解决ThreadingMixIn
's 行为在这方面。
解决方案
推荐阅读
- python - Python:以特定顺序提取给定数组的元素
- postgresql - postgres pg_dump 数据库备份
- swift - kotlin 中的 WebSockets
- python - 从 python 中访问 tensorflow/core/framework/cpu_allocator_impl.cc
- c# - 在 ActionFilterAttribute 中查找过滤器
- python - 在字典列表中查找键值,然后替换其他值
- python - 我想根据行内的条件从烧瓶 db.execute 查询中删除一行
- python - 尝试使用谷歌工作表的电子表格().batchUpdate()时“收到无效的 JSON 有效负载”
- java - Base64 错误:javax.xml.bind.DatatypeConverter.parseBase64Binary 处的 java.lang.NullPointerException(DatatypeConverter.java:296)
- javascript - React Children 组件丢失了重新渲染内部另一个组件的状态