根据Python文档中的示例,我使用SimpleXMLRPCServer在Python中构建了一个xml-rpc服务器.我是在同一台机器上的Python客户端调用它.服务器功能的主体自己执行得非常快.
但我发现xmlrpc客户端性能极其缓慢,每次调用需要一秒钟.(使用xmlrpclib.)
我在网上找到的加速技术(跳过getfqdn解决方案)没有帮助.
我的连接URI是:
'http://localhost:50080'
Run Code Online (Sandbox Code Playgroud)
我在Windows 7上运行Python 2.7 x64,但对于32位Python 2.7,它的工作原理相同.
通过我在文档中阅读的所有内容,Django和py-sqlite3都可以使用线程访问.(对吗?)但是这段代码片段对我失败了.主线程中的操作有效,但不在我创建的线程中.在那里我得到:
文件"C:\ Python27\lib\site-packages\django-1.9-py2.7.egg\django\db\backends\sq lite3\base.py",第323行,在执行返回Database.Cursor.execute(self ,查询,参数)
OperationalError:没有这样的表:thrtest_mymodel
有什么问题?
我如何准确地追踪修补Django的正在发生的事情或修复它所需的一切?Django的失败点非常难以理解.我不知道如何查看它看到的表格,或者主要和其他线程之间要查找的差异.
from django.db import models
# Super-simple model
class MyModel(models.Model):
message = models.CharField('Message', max_length=200, blank=True)
#Test
from django.test import TestCase
import time
import threading
import random
done = threading.Event()
nThreads = 1
def InsertRec(msg):
rec = MyModel.objects.create(message=msg)
rec.save()
def InsertThread():
try:
msgNum = 1
thrName = threading.currentThread().name
print 'Starting %s' % thrName
while not done.wait(random.random() * 0.1):
msgNum += 1
msg = '%s: %d' % (thrName, msgNum)
print msg
InsertRec(msg)
finally:
done.set() …Run Code Online (Sandbox Code Playgroud)