小编Dmi*_*nko的帖子

Kombu以非阻塞的方式

我正在寻找一种方法来使用kombu作为tornado-sockjs和Django应用服务器之间的MQ适配器.我做了类似的事情:

class BrokerClient(ConsumerMixin):
    clients = []

    def __init__(self):
        self.connection = BrokerConnection(settings.BROKER_URL)
        self.io_loop = ioloop.IOLoop.instance()
        self.queue = sockjs_queue
        self._handle_loop()

    @staticmethod
    def instance():
        if not hasattr(BrokerClient, '_instance'):
            BrokerClient._instance = BrokerClient()
        return BrokerClient._instance

    def add_client(self, client):
        self.clients.append(client)

    def remove_client(self, client):
        self.clients.remove(client)

    def _handle_loop(self):
        try:
            if self.restart_limit.can_consume(1):
                for _ in self.consume(limit=5):
                    pass
        except self.connection.connection_errors:
            print ('Connection to broker lost. '
             'Trying to re-establish the connection...')
        self.io_loop.add_timeout(datetime.timedelta(0.0001), self._handle_loop)

    def get_consumers(self, Consumer, channel):
        return [Consumer([self.queue, ], callbacks=[self.process_task])]

    def process_task(self, body, message):
        for client in self.clients:
            if …
Run Code Online (Sandbox Code Playgroud)

python tornado kombu

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

Derby.js(Racer)访问控制

我是Derby.js环境中的新手,据我所知,Racer公开了客户端的所有数据.

那么,基本上任何人都可以操纵存储在服务器上的任何数据?我对么?有没有办法管理访问控制?

node.js derbyjs racerjs

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

Django和selenium整合

我正在尝试将我的django应用程序与selenium集成以通过manage.py test命令运行selenium测试(我需要一些自动运行testserver的东西).使用django-selenium进行此集成.当我从django-selenium运行示例项目时,它很好.但是当我运行使用静态文件的真实应用程序时,我得到了这个:

      File "env\lib\site-packages\django\core\servers\basehttp.py",
 line 283, in run
    self.result = application(self.environ, self.start_response)
  File "env\lib\site-packages\django_selenium\selenium_server.p
y", line 45, in test_app
    return handler(environ, start_response)
  File "env\lib\site-packages\django\contrib\staticfiles\handle
rs.py", line 68, in __call__
    return self.application(environ, start_response)
  File "env\lib\site-packages\django\core\handlers\wsgi.py", li
ne 272, in __call__
    response = self.get_response(request)
  File "env\lib\site-packages\django\core\handlers\base.py", li
ne 153, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())

  File env\lib\site-packages\django\core\handlers\base.py", li
ne 218, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "env\lib\site-packages\django\utils\decorators.py", line
 93, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File …
Run Code Online (Sandbox Code Playgroud)

django selenium

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

修改Django AutoField的起始值

我有和现有的数据库,我已经用SQLAlchemy迁移到一个新的PostgreSQL数据库.

我用与以前相同的值移动了所有主键.现在我有填充数据的表,但相关的序列从1开始.我有pk值存储1到2000.

现在,当我尝试用Django保存一些东西时,我有了

重复键值违反了与主键有关的唯一约束.

如何修改序列起始值或逃避这种情况?
我目前的解决方案是:

conn = psycopg2.connect(...)
    for table_name in table_names:

        cursor = conn.cursor()
        cursor.execute("""
        SELECT setval('%s_id_seq', (SELECT COALESCE(MAX(id),0)+1 FROM %s));
        """% (table_name, table_name))
Run Code Online (Sandbox Code Playgroud)

它对我有用,但我不喜欢它.

django postgresql auto-increment django-south

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