我有一个运行跟随配置的网站:
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) 我将在我的项目中开始使用django-rq.
Django与基于Redis的Python排队库RQ集成.
测试使用RQ的django应用程序的最佳做法是什么?
例如,如果我想将我的应用程序测试为黑盒子,那么在用户执行某些操作后,我想执行当前队列中的所有作业,然后检查我的数据库中的所有结果.我怎么能在我的django测试中做到这一点?
在数据框中,我有一个来自列Nation的索引.
但我不能这样做
df[df.Nation.str.startswith('U')]
Run Code Online (Sandbox Code Playgroud)
没有重置索引.
我如何获得索引的str对象?
我将首先显示代码(节点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) 如果我在服务器上运行自定义用户代码,如何保护我的Web服务器.如果任何用户可以在我的服务器上提交他的python源并运行它.
也许某些模块或linux工具可以关闭此脚本的任何网络和硬件活动.
谢谢大家的帮忙!
在VIEW中,我想调整上传图像的大小,并在模型中保存2份副本并进行更改