小编NFi*_*ano的帖子

Python类方法链接

为了避免迷失在架构决策中,我会用一个类似的例子来问这个问题:

假设我想要一个像这样的Python类模式:

queue = TaskQueue(broker_conn)
queue.region("DFW").task(fn, "some arg") 
Run Code Online (Sandbox Code Playgroud)

这里的问题是如何让设计成为一个类,以便某些方法可以以这种方式"链接".

task()需要访问queue类实例属性,操作task取决于输出region().

我看到SQLalchemy做了这个(见下文),但我很难深入挖掘他们的代码并隔离这种模式.

query = db.query(Task).filter(Task.objectid==10100) 
Run Code Online (Sandbox Code Playgroud)

python magic-methods python-2.7

12
推荐指数
2
解决办法
4771
查看次数

RESTful方式触发服务器端事件

我有一种情况,我需要我的API来调用触发服务端事件,客户端不需要信息(除了身份验证),服务器也不需要返回任何信息.由于这不适合标准的CRUD /资源交互,我应该把它作为一个指示我做错了什么,还是有一个RESTful设计模式来处理这些条件?

api rest web-services restful-architecture

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

芹菜(Django)限速

我正在使用Celery来处理多个数据挖掘任务.这些任务之一连接到远程服务,它允许最多10个同时连接每个用户(或者换句话说,它CAN超过10个连接全球,但它CAN NOT超过每个人工作10个连接).

认为 Token Bucket(速率限制)是我正在寻找的,但我似乎无法找到它的任何实现.

amqp rabbitmq celery carrot

9
推荐指数
2
解决办法
7032
查看次数

在before_request信号触发之前,Flask命中装饰器

我正在使用Flask并使用before_request装饰器将有关请求的信息发送到分析系统.我现在正在尝试创建一个装饰器,以防止在几条路线上发送这些事件.

我遇到的问题是让我的装饰器在before_request信号被触发之前被调用.

def exclude_from_analytics(func):

    @wraps(func)
    def wrapped(*args, **kwargs):
        print "Before decorated function"
        return func(*args, exclude_from_analytics=True, **kwargs)

    return wrapped

# ------------------------

@exclude_from_analytics
@app.route('/')
def index():
    return make_response('..')

# ------------------------

@app.before_request
def analytics_view(*args, **kwargs):
    if 'exclude_from_analytics' in kwargs and kwargs['exclude_from_analytics'] is True:
       return
Run Code Online (Sandbox Code Playgroud)

python decorator flask

9
推荐指数
1
解决办法
4489
查看次数

Celery的类似信号量的机制

我们正在为Python + Celery开发一个用于我们任务队列的分布式应用程序.

我们的应用程序要求我们通过IMAP(例如:gmail)从远程ISP下载电子邮件,我们希望能够并行完成此任务.对于给定的电子邮件帐户,您被授予限制为多个模拟连接,因此我们需要一种方法来原子地跟踪所有正在下载的帐户的活动连接.

我已经使用Redis找到了Celery的多个原子锁示例,但没有一个可以跟踪这样的有限资源池,并且所有实现我们自己的尝试都导致难以调试竞争条件,导致我们的锁定间歇性地永远不会被释放.

python semaphore distributed-computing celery

7
推荐指数
1
解决办法
1528
查看次数

Django-MPTT - 按直接后代的数量对根节点进行排序

我正在使用 Django-MPTT 来显示一个简单的 2 级层次结构(root => child(ren))。我正在寻找一种方法来构建我的查询集,以便节点返回时首先返回具有最多子节点的根节点,最后返回具有最少子节点(如果有)的节点。

django-queryset django-mptt

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

排序(十六进制)颜色以匹配彩虹

我有一个以十六进制表示的颜色列表 - 我需要对它们进行排序以匹配彩虹中的颜色顺序. - 我可以硬编码排序 - 但我觉得有一种更清洁的方式.

python sorting algorithm colors

5
推荐指数
2
解决办法
6541
查看次数

Python解析框架

如果我需要促进数据的提取来自各种(非API)互联网资源,是否有将简化具有开发者编写可重用的,但源特定解析器大规模的过程的框架型溶液?

python data-mining text-parsing

3
推荐指数
1
解决办法
751
查看次数

Pythonic方法使键/值对成为字典

我有一种情况,我从MongoDB返回的值如下:

{'value': Decimal('9.99'), 'key': u'price'}
{'value': u'1.1.1', 'key': u'version'}
Run Code Online (Sandbox Code Playgroud)

现在,我提出了几种方法来做到这一点,比如(虽然我的一个比较粗糙的方法):

y[x['key']] = x['value']
Run Code Online (Sandbox Code Playgroud)

但我只是怀疑这种唠叨的怀疑是内置方法的单一或小组合可以清理.

python

3
推荐指数
2
解决办法
203
查看次数

单页上多种表单的优雅解决方案

我正在构建一个Web应用程序(在Django中),它将接受搜索条件并显示报告 - 一旦用户对结果感到满意,将标准和对这些对象的引用保存回数据库.

我遇到的问题是找到一个优雅的解决方案,有两种形式:

  1. 显示(GET)其标准的结果.
  2. 输入一些描述,然后将所有内容保存(POST)回数据库.

我倾向于使用AJAX获取GET内容和POST保存,但我想确保首先没有更优雅的解决方案.

django ajax postback get django-forms

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