一种服务,用于将具有到期时间的优先包放置在队列中,并将包通知给消费者

kamikaze的Python项目详细描述


https://badge.fury.io/py/kamikaze.pnghttps://travis-ci.org/brendanmaguire/kamikaze.png?branch=master

一种服务,用于将具有到期时间的优先包放置在队列中,以及 通知消费者包装

工作原理

此服务监视redis排序集并调用使用者函数 当新包到达或当前最高优先级包到达时 到期。使用者函数可以是常规的python函数,也可以是 asyncio coroutine

如何安装

pip install kamikaze

消费者功能

使用者函数是在新消息 排在队伍的最前面。函数的格式应为:

def consumer_function(package, *args):
    """
    Does stuff with packages and optional args passed from the command line
    """

长期运行的消费者功能

如果使用者函数长时间运行,那么它应该能够控制 如果可能的话。否则神风服务队会很慢 对队列中的更改做出反应。

快速运行的消费者功能

如果消费者功能很快,就不需要屈服 控制主回路直到完成。

运行服务

通过运行以下命令启动服务:

kamikaze service <consumer-function-path> --consumer-function-args

consumer函数应该是python协程的完整路径。 它必须在您的$PYTHONPATH中。

为选项的完整列表提供--help标志。

工具

推动包裹

使用push命令将包添加到队列:

kamikaze push <payload> <ttl> <priority>

移除包

使用remove命令从队列中删除包:

kamikaze remove <payload>

在队列中列出包

使用list命令列出队列中的所有包:

kamikaze list

运行示例

产生示例

一个屈服函数的例子可以这样运行:

kamikaze service example_consumer.consumer.yielding_consumer_func

阻塞示例

阻塞函数的示例可以如下运行:

kamikaze service example_consumer.consumer.blocking_consumer_func

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

推荐PyPI第三方库


热门话题
java Android首选项相同getPreference()值的不同数据   字符串如何在Java中连接两个列表中的单词   安卓 Java Socket编程:检测客户端和服务器是否连接   使用JTextField的java无法将值转换为int   在java中,如何在不通过超级构造函数设置的情况下将消息设置为自定义异常类   用于标识属性值的java正则表达式模式   Android中的java不可见谷歌地图   java正确取消启动ExecutorService的JavaFX任务   在非活动java类中使用安卓的融合位置提供程序,并在主活动类中获取经度和纬度   spring为什么我的大摇大摆不能用springboot在java中工作?   java JSF(2.2)ViewScope在Weblogic 12.2.1.2和JDK 8上使用Spring 4.3.7(在Mac OS和Docker Oracle Linux环境上)   java如何用一个按钮提高计时器速度   java如何检查字符是否是元音?   注册表引用了不存在的Java运行时环境安装或运行时已损坏错误   来自ResultSet java的mysql getDateTime   maven LanguageTool Java API是否具有“无用”依赖关系?   twitter api身份验证的java Trycatch问题   java在Apache Struts 1.1中是否可以显式白名单?   安卓致命异常:主java。lang.RuntimeException:被问及未知片段