Scirocco Proyect的客户端库。
scirocco-pyclient的Python项目详细描述
#scirocco pyclient
[![构建状态](https://travis-ci.org/eloylp/scirocco-pyclient.svg?branch=master)(https://travis ci.org/eloylp/scirocco pyclient)
这是一个方便的库,可以与[scirocco服务器](https://github.com/eloylp/scirocco-server)项目进行交互。如果您不知道,请先阅读项目文档。
ub.com/eloylp/scirocco py client.git
python3 setup.py install
````
pip3安装scirocco pyclient
```````` bash
``` bash
pip3 instainstall scirocco pyclient
``````````````````
````>
此客户端中的每个操作都将返回相同的[响应对象](sciroccoclient/responses.py)
,表示操作的状态以及生成的消息负载表示。
它们分别是:
*[scirocco服务器](https://github.com/eloylp/scirocco-server)终结点(注意http/https架构)。
*您预先设置的约定节点id(十六进制字符串,将来将是mongo objectid)。
*用于访问Scirocco服务器实例的主身份验证令牌。
``python
例如填充[scirocco消息对象](scirocclient/messages.py)。
``python
从scirocclient.messages导入scirocco message
msg.payload={"type":"message"}
scirocco.push(msg)
n'
scirocco.push(msg)
```
有关上述代码的一些提示如下:
*payload_type属性是一个50个字符的自由字段,用于确定如何在使用者部分处理数据。如果没有设置,scirocco将用检测到的mime类型填充它。
*计划消息是指在时间框架内到达计划时间之前,消费者无法使用的消息。**警告**,这不是"消耗时间",而是标记为"可用"的时刻。
您将推送二进制文件,并且该项存储为二进制文件,但您将接收到base64表示形式的
``python
nt(response-object.payload)
```
如果没有挂起的消息,客户端将不返回其他消息,它将返回包含元数据和有效负载的响应对象。消息
将其状态更改为"正在处理",因此其他
"拉"操作无法访问该消息。
穆的逻辑st
处理每条消息并创建一个消费者。
回调函数的要求是:
*必须有两个位置参数
*第一个参数用于接收客户端自身进行进一步操作,
类似于ack当前消息。
*第二个参数将是接收到的消息,格式为[sciroccomessage](sciroccoclient/messages.py l6)对象。
``python
print(message.payload)
client.ack(message.metadata.id)
scirocco.onu receive(callback)
```
我被扔进stdout。
如果您不希望这种行为并且希望它是异步的,您可以在第二个参数处指定
,并让程序继续执行。这将返回thread
对象(https://docs.python.org/3.6/library/threading.html thread objects)
,用于控制线程的执行。
``python
on懔receive懔thread=scirocco.on懔receive(callback,true)
print("im ready,send me a message.")
在consumer-thread
on_receive_thread.shutdown()
```
>默认情况下,拉取间隔设置为0.5秒。**这很重要**
根据您的需要进行调整。记住,此时这不是实时解决方案,所以不要滥用服务器太多!
`` python
scirocco.on庘receive(callback,false,2)last param它的拉取间隔,在本例中增加到2秒。
`````
如果要从回调函数内部退出程序,则需要使用选项。这将关闭自定义循环中的线程。
``python
def回调(客户端,消息):
nReceiveCallbackerror
scirocco.on廑receive(callback)
````
r其他进程中的操作
ge id,代码是:
`` python
scirocco.ack('5823a70203c123003de4229b')
````
像这样。
``python
scirocco.get('5823a70203c123003de4229b')
```
r.
`` python
scirocco.get廑all()
``限制结果10(按创建日期排序)
scirocco.get廑all(10)
````
作为第二个参数,新的数据
有效负载。
`` python
scirocco.update_one(msg_id,new_payload)
```
无法撤消。
``python
scirocco.delete椆one('5823a70203c123003de4229b')
````
我们的行动。无法撤消。
``python
scirocco.delete廑all()
````
m/eloylp/scirocco pyclient.git
cd scirocco pyclient
python3 setup.py test
```
[![构建状态](https://travis-ci.org/eloylp/scirocco-pyclient.svg?branch=master)(https://travis ci.org/eloylp/scirocco pyclient)
这是一个方便的库,可以与[scirocco服务器](https://github.com/eloylp/scirocco-server)项目进行交互。如果您不知道,请先阅读项目文档。
ub.com/eloylp/scirocco py client.git
python3 setup.py install
````
pip3安装scirocco pyclient
```````` bash
``` bash
pip3 instainstall scirocco pyclient
``````````````````
````>
此客户端中的每个操作都将返回相同的[响应对象](sciroccoclient/responses.py)
,表示操作的状态以及生成的消息负载表示。
它们分别是:
*[scirocco服务器](https://github.com/eloylp/scirocco-server)终结点(注意http/https架构)。
*您预先设置的约定节点id(十六进制字符串,将来将是mongo objectid)。
*用于访问Scirocco服务器实例的主身份验证令牌。
``python
例如填充[scirocco消息对象](scirocclient/messages.py)。
``python
从scirocclient.messages导入scirocco message
msg.payload={"type":"message"}
scirocco.push(msg)
n'
scirocco.push(msg)
```
有关上述代码的一些提示如下:
*payload_type属性是一个50个字符的自由字段,用于确定如何在使用者部分处理数据。如果没有设置,scirocco将用检测到的mime类型填充它。
*计划消息是指在时间框架内到达计划时间之前,消费者无法使用的消息。**警告**,这不是"消耗时间",而是标记为"可用"的时刻。
您将推送二进制文件,并且该项存储为二进制文件,但您将接收到base64表示形式的
``python
nt(response-object.payload)
```
如果没有挂起的消息,客户端将不返回其他消息,它将返回包含元数据和有效负载的响应对象。消息
将其状态更改为"正在处理",因此其他
"拉"操作无法访问该消息。
穆的逻辑st
处理每条消息并创建一个消费者。
回调函数的要求是:
*必须有两个位置参数
*第一个参数用于接收客户端自身进行进一步操作,
类似于ack当前消息。
*第二个参数将是接收到的消息,格式为[sciroccomessage](sciroccoclient/messages.py l6)对象。
``python
client.ack(message.metadata.id)
scirocco.onu receive(callback)
```
我被扔进stdout。
如果您不希望这种行为并且希望它是异步的,您可以在第二个参数处指定
,并让程序继续执行。这将返回thread
对象(https://docs.python.org/3.6/library/threading.html thread objects)
,用于控制线程的执行。
``python
on懔receive懔thread=scirocco.on懔receive(callback,true)
print("im ready,send me a message.")
在consumer-thread
on_receive_thread.shutdown()
```
>默认情况下,拉取间隔设置为0.5秒。**这很重要**
根据您的需要进行调整。记住,此时这不是实时解决方案,所以不要滥用服务器太多!
`` python
scirocco.on庘receive(callback,false,2)last param它的拉取间隔,在本例中增加到2秒。
`````
如果要从回调函数内部退出程序,则需要使用选项。这将关闭自定义循环中的线程。
``python
def回调(客户端,消息):
nReceiveCallbackerror
scirocco.on廑receive(callback)
````
r其他进程中的操作
ge id,代码是:
`` python
scirocco.ack('5823a70203c123003de4229b')
````
像这样。
``python
scirocco.get('5823a70203c123003de4229b')
```
r.
`` python
scirocco.get廑all()
``限制结果10(按创建日期排序)
scirocco.get廑all(10)
````
作为第二个参数,新的数据
有效负载。
`` python
scirocco.update_one(msg_id,new_payload)
```
无法撤消。
``python
scirocco.delete椆one('5823a70203c123003de4229b')
````
我们的行动。无法撤消。
``python
scirocco.delete廑all()
````
m/eloylp/scirocco pyclient.git
cd scirocco pyclient
python3 setup.py test
```