小编Odu*_*van的帖子

错误:无法启动新线程

我有一个运行跟随配置的网站:

Django + mod-wsgi + apache

在用户的一个请求中,我向另一个服务发送另一个HTTP请求,并通过python的httplib库解决这个问题.

但有时这个服务得不到太长的时间,httplib的超时不起作用.所以我创建线程,在这个线程中我发送请求到服务,并在20秒后加入它(20秒 - 请求超时).这是它的工作原理:

class HttpGetTimeOut(threading.Thread):
    def __init__(self,**kwargs):
        self.config = kwargs
        self.resp_data = None
        self.exception = None
        super(HttpGetTimeOut,self).__init__()
    def run(self):

        h = httplib.HTTPSConnection(self.config['server'])
        h.connect()
        sended_data = self.config['sended_data']
        h.putrequest("POST", self.config['path'])
        h.putheader("Content-Length", str(len(sended_data)))
        h.putheader("Content-Type", 'text/xml; charset="utf-8"')
        if 'base_auth' in self.config:
            base64string = base64.encodestring('%s:%s' % self.config['base_auth'])[:-1]
            h.putheader("Authorization", "Basic %s" % base64string)
        h.endheaders()

        try:
            h.send(sended_data)
            self.resp_data = h.getresponse()
        except httplib.HTTPException,e:
            self.exception = e
        except Exception,e:
            self.exception = e
Run Code Online (Sandbox Code Playgroud)

像这样的东西......

并通过此功能使用它:

getting = HttpGetTimeOut(**req_config)
getting.start()
getting.join(COOPERATION_TIMEOUT)
if getting.isAlive(): #maybe …
Run Code Online (Sandbox Code Playgroud)

python django multithreading mod-wsgi httplib

23
推荐指数
5
解决办法
6万
查看次数

在Django中测试django-rq(python-rq)的最佳实践

我将在我的项目中开始使用django-rq.

Django与基于Redis的Python排队库RQ集成.

测试使用RQ的django应用程序的最佳做法是什么?

例如,如果我想将我的应用程序测试为黑盒子,那么在用户执行某些操作后,我想执行当前队列中的所有作业,然后检查我的数据库中的所有结果.我怎么能在我的django测试中做到这一点?

python testing django python-rq

11
推荐指数
3
解决办法
3823
查看次数

我在pandas DataFrame中有字符串索引如何通过startswith选择?

在数据框中,我有一个来自列Nation的索引.

但我不能这样做

df[df.Nation.str.startswith('U')]
Run Code Online (Sandbox Code Playgroud)

没有重置索引.

我如何获得索引的str对象?

python pandas

10
推荐指数
1
解决办法
2万
查看次数

如何从字符串中将Sourcemap与评估TypeScript一起使用

我将首先显示代码(节点10.15.3):

var ts = require("typescript");
require('source-map-support').install({
   environment: 'node',
   hookRequire: true
})
var content = "let a = 0;\n\nb = b * a";

var compilerOptions = { 
   module: ts.ModuleKind.CommonJS,
   inlineSourceMap: true 
};

var res1 = ts.transpileModule(content, {
  compilerOptions: compilerOptions,
  moduleName: "myModule2"
});
console.log(res1);
console.log('-------')
console.log(content)
console.log('-------')
console.log(res1.outputText)
console.log('-------')
eval(res1.outputText)
Run Code Online (Sandbox Code Playgroud)

作为执行此代码的结果,我希望具有与给定内容变量相关的回溯(第3行中的错误),但是我不断在第2行中收到错误-这是代码的已编译版本中的错误行。

这是输出

{ outputText:
   'var a = 0;\nb = b * a;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVWLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBIn0=',
  diagnostics: [],
  sourceMapText: undefined }
-------
let a = 0;

b = b * a
-------
var a = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript

6
推荐指数
1
解决办法
313
查看次数

运行最安全的python代码

如果我在服务器上运行自定义用户代码,如何保护我的Web服务器.如果任何用户可以在我的服务器上提交他的python源并运行它.

也许某些模块或linux工具可以关闭此脚本的任何网络和硬件活动.

谢谢大家的帮忙!

python system

5
推荐指数
1
解决办法
521
查看次数

如何调整上传的图片大小?

在VIEW中,我想调整上传图像的大小,并在模型中保存2份副本并进行更改

python django python-imaging-library

0
推荐指数
1
解决办法
885
查看次数