使用jquery所选javascript插件的django formfields

django-sqs的Python项目详细描述


django sqs
==


作者:maciej pasternacki<;maciej@pasternacki.net>;
日期:2010年1月15日星期五
维护者:adrien lemaire<;lemaire.adrien@gmail.com>;


le of contents
==
==
1设置
2个接收器
2.1使用修饰器注册
2.2手动注册
2.3示例接收器
3接收
4发送
4.1使用修饰函数
4.2手动
5个自定义消息类
5.1 modelInstanceMessage类
6 management
6.1 manage.py sqs_status
6.2 manage.py sqs_clear
6.3 manage.py sqs_wait
7 views
8 fixme
8.1明智的分叉/线程或多路传输,而不是分叉黑客?
8.2 autoimporting receivers.py from apps
8.3 docstrings
8.4最小化轮询
8.5将消息保留在队列中的自定义异常



1设置
~~~~~~~~~
boto库用于访问Amazon Web服务。

1将"django_sqs"添加到python路径
2。将"django_sqs"添加到installed_apps设置
3。设置aws_access_key_id,aws_secret_access_key
4。可以选择设置sqs_queue_prefix作为队列的前缀,避免与其他开发人员、生产/登台环境等发生冲突。
debug为true时需要sqs_queue_prefix,即使在生产模式下也建议

5.可选设置sqs_default_visibility_timeout(默认值为60秒)
6。可选设置sqs_poll_period(默认值为10秒)
7。(可选)设置aws_region(默认为"us-east-1")

使用decorator
==
==
==
==



decorated函数将成为inst
`django_sqs.registered_queue.registeredqueue.receiverproxy'类的实例。
实例是可调用的-您可以使用
适当消息类的实例或其构造函数的关键字参数来调用它,
,消息将被添加到队列中。实例还为
属性"direct"提供原始修饰函数,并为
"registered queue"提供相应的
"django sqs.registeredqueue"实例。将点转换为双下划线。

"后缀"参数是已知队列名称后缀的元组。如果使用了未知后缀,将发出警告。


如果"delete_on_start"为true,则在接收到消息后,在调用接收器函数之前,将从队列中删除接收到的消息。如果为false(这是默认值),则在接收方函数完成后,当消息已完全处理时,将删除该消息。


如果"关闭数据库"为true,则在处理每条消息后,将关闭所有数据库连接,以防止挂起的未关闭
事务。


队列名称后缀可用于将相似的项拆分到多个队列(例如,对要分配负载的大输入项使用单独的队列)。


2.2手动注册,并通过调用:


django_sqs.register(queue_name,[fn=none,visibility_timeout=none,message_class=none,delete_on_start=false,suffix=()])

如果"fn"为none或no t-given,则不分配处理程序:消息可以发送,但不会接收。


在默认导入的模块中创建函数
(建议:使用"receivers.py"并将其导入到"models.py"中,
自动导入待定)。

2.3示例接收器
=====================
@receiver("test")
def接收消息(msg):
打印"已接收:",msg.get_body()

3接收
~~~~~~~~~~~~~~~
python manage.py runreceiver[--message limit=n][--suffix=suffix][queue_name[queue_name[…]]]


如果注册了多个队列,则为每个队列派生一个新进程。


如果Receiver
函数返回成功,则从队列中删除消息。
如果Receiver消息引发异常,则使用日志记录模块记录异常回溯,并删除消息。如果接收器
看到可重新启动的错误并希望将消息保留在队列中,则它应引发"django sqs.restartlater"异常-此异常将
将消息保留在队列中。


选项:

`--message limit=n':接收"n"消息后退出
`--suffix=suffix':使用队列名称后缀

4发送
~~~~~~~~~~~

>4.1使用修饰函数
====================
==================================================>
=========>4.2手动

====================================================>允许函数:

django_sqs.send(queue_name,message=none,suffix=none,**kwargs)

`message'应该是配置了队列的
`receiver'装饰器或'register'函数的"message_class"的实例(或
`boto.sqs.message.message')。

的消息
类将使用"**kwargs"实例化。使用默认消息
类"boto.sqs.message.message",我们只需提供body:

django sqs.send("a_queue",body="lorem ipsum dolor sit amet")

"suffix"是要使用的队列名称后缀。

5个自定义消息类
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用于发送原始值、非unicode字符串、任何of
"boto.sqs.message"或其子类中提供的类可以使用
。这个模块的评论很好(比这一个好得多),所以
继续阅读好的源代码!



5.1 modelInstanceMessage类
==============
提供"django_sqs.message.modelInstanceMessage"类以方便
。它使用django的
ContentType框架(作为app/model/primary key triple)对单个模型实例进行编码。它在构造函数中接受"instance"关键字参数,并提供
"get_instance()"方法。


除了
实例外,还不支持传递其他信息。


6 management
~~~~~~~~~~~~~~

<6.1 manage.py sqs廑status
==队列中的邮件数。


6.2 manage.py sqs_clear
==
清除所有队列(默认情况下)或命名为参数的队列。
打印删除的邮件数。


如果队列接收器正在运行或最近正在运行,则某些
邮件可能仍被锁定,不会被删除。命令可能需要重新运行。


是为简单的
纯文本队列状态报告(与"manage.py sqs_status"相同)提供的。


8 fixme
~~~~~~~~


8.1以实现合理的分叉/线程或多路复用而不是分叉黑客?
==============================================================================

8.2 TODO Autoimporting receivers.py from apps
==============================================

8.3 TODO docstrings
====================

8.4 TODO Minimize polling
==========================
Amazon charges for every call少投票,少发票。一些
指数退避+带外信号(视图?)唤醒正在运行的
接收方进程可能是一件好事。

在队列中保留消息而不打印回溯和
警告所有人。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库