跳转到主要内容

分布式sardana记录器

项目描述

Sardana Streams

Pypi python versions Pypi version Pypi status License

Sardana数据流基础设施。包括

  • redis基于的sardana扫描记录器
  • 客户端记录器
    • 通用扫描流客户端(库)
    • SPEC记录器守护进程
    • HDF5记录器守护进程
    • 扫描GUI

安装

在您喜欢的Python环境中

$ pip install sardana-streams

使用

以下示例中使用的名称acme代表一个虚构的公司,该公司在《Road Runner》卡通中占主导地位。

配置

激活sardana redis记录器

  • 将安装目录中sardana_streams/recorder所在的位置设置为MacroServer的RecorderPath tango属性。例如: /usr/local/lib/python3.5/dist-packages/sardana_streams/recorder
  • 从spock
    • 使用: senv DataRecorder "['RedisRecorder']"激活记录器
    • 使用senv RedisRecorder "{'host': 'acme.org', 'port': 7379, 'db': 1}"配置记录器(将hostportdb替换为您自己的值)

RedisRecorder环境可以是字符串或字典,用于标识Redis数据库。

如果提供字符串,则它将识别与redis.from_url()中的相同格式的url参数。

如果提供了一个字典,它将识别与redis.from_url()相同的键参数,并且还包括

  • TTL:扫描存活时间(秒),默认为一周
  • key_prefix:扫描键前缀(默认为<宏服务器名称>:sardana:scan

示例

以下是一个简单的客户端示例,该客户端简单地监听扫描事件并将它们打印到屏幕上

import contextlib

import redis
from sardana_streams.client import ScanStream

db = redis.from_url('redis://acme.org:7379/1')
prefix = "acme:sardana:scan"
stream = ScanStream(db, prefix)
with contextlib.closing(stream):
    for event in stream:
        print(event)

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

sardana-streams-0.1.0.tar.gz (6.6 kB 查看哈希值)

上传时间 源代码

由以下支持