为了避免迷失在架构决策中,我会用一个类似的例子来问这个问题:
假设我想要一个像这样的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) 我有一种情况,我需要我的API来调用触发服务端事件,客户端不需要信息(除了身份验证),服务器也不需要返回任何信息.由于这不适合标准的CRUD /资源交互,我应该把它作为一个指示我做错了什么,还是有一个RESTful设计模式来处理这些条件?
我正在使用Celery来处理多个数据挖掘任务.这些任务之一连接到远程服务,它允许最多10个同时连接每个用户(或者换句话说,它CAN超过10个连接全球,但它CAN NOT超过每个人工作10个连接).
我认为 Token Bucket(速率限制)是我正在寻找的,但我似乎无法找到它的任何实现.
我正在使用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 + Celery开发一个用于我们任务队列的分布式应用程序.
我们的应用程序要求我们通过IMAP(例如:gmail)从远程ISP下载电子邮件,我们希望能够并行完成此任务.对于给定的电子邮件帐户,您被授予限制为多个模拟连接,因此我们需要一种方法来原子地跟踪所有正在下载的帐户的活动连接.
我已经使用Redis找到了Celery的多个原子锁示例,但没有一个可以跟踪这样的有限资源池,并且所有实现我们自己的尝试都导致难以调试竞争条件,导致我们的锁定间歇性地永远不会被释放.
我正在使用 Django-MPTT 来显示一个简单的 2 级层次结构(root => child(ren))。我正在寻找一种方法来构建我的查询集,以便节点返回时首先返回具有最多子节点的根节点,最后返回具有最少子节点(如果有)的节点。
我有一个以十六进制表示的颜色列表 - 我需要对它们进行排序以匹配彩虹中的颜色顺序. - 我可以硬编码排序 - 但我觉得有一种更清洁的方式.
如果我需要促进数据的提取来自各种(非API)互联网资源,是否有将简化具有开发者编写可重用的,但源特定解析器大规模的过程的框架型溶液?
我有一种情况,我从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)
但我只是怀疑这种唠叨的怀疑是内置方法的单一或小组合可以清理.
我正在构建一个Web应用程序(在Django中),它将接受搜索条件并显示报告 - 一旦用户对结果感到满意,将标准和对这些对象的引用保存回数据库.
我遇到的问题是找到一个优雅的解决方案,有两种形式:
我倾向于使用AJAX获取GET内容和POST保存,但我想确保首先没有更优雅的解决方案.
python ×6
celery ×2
ajax ×1
algorithm ×1
amqp ×1
api ×1
carrot ×1
colors ×1
data-mining ×1
decorator ×1
django ×1
django-forms ×1
django-mptt ×1
flask ×1
get ×1
postback ×1
python-2.7 ×1
rabbitmq ×1
rest ×1
semaphore ×1
sorting ×1
text-parsing ×1
web-services ×1