一个使用redis的分布式任务工作流的简单框架。

tasa的Python项目详细描述


一个使用redis的分布式任务工作流的简单框架。设计 易于用代码扩展,而不是过分的功能化 从盒子里出来。

开始

tasa需要python 2.7的版本。如果你用的是旧的 版本,现在是升级的好时机。如果你在运行python 3、欢迎使用兼容性补丁。

Debian的快速启动示例:

  1. sudo apt-get install redis-server python-pip nmap
  2. sudo pip install -U tasa
  3. wget https://raw.github.com/PaulMcMillan/tasa/master/examples/tnmap.py
  4. mkdir out
  5. tasa tnmap:Runner &
  6. tasa tnamp:Results &
  7. python tnmap.py 10.0.0.0/24

此快速启动安装tasa,下载 分布式nmap,运行一个任务工作线程和一个结果工作线程,以及 然后插入一个作业来扫描本地网络的一部分。

要实际使用此示例在每个工作节点上分发任务:

  1. sudo apt-get install python-pip nmap
  2. sudo pip install -U tasa
  3. wget https://raw.github.com/PaulMcMillan/tasa/master/examples/tnmap.py
  4. configure /etc/tassa/tasa.conf to contain a configuration line like redis=’redis://password@example.org:6379/0’
  5. tasa tnmap:Runner

然后运行results worker并从master注入作业 机器。尝试更改脚本中的值-示例 实际上已经足够通用,可以运行任何进程,而不仅仅是nmap。

别忘了将redis服务器配置为在ip上监听 可供您的客户访问,并设置密码,即使您在 专用网络。如果你在一个不可信的网络上,你就要负责 对于加密-通过ssh端口转发的隧道,或包装redis 在TLS中使用螺柱/螺柱。

它是如何工作的?

tasa主要是一个瘦框架,帮助您构建可组合的工作。 流动。把你的问题分解成小块,让几个工人 机器,并将作业插入到工作者的输入队列中,并使用 它们来自输出。

常见问题解答

  • 我得到一个带有“redis.exceptions.responseerror:operation”的回溯 不允许“

    你记得在/etc/tasa/tasa.conf中设置一个redis设置吗? 如果您添加了redis密码但未设置 连接字符串。

  • 我需要什么版本的redis服务器?

    TASA是用Redis 2.6.16开发的。旧版本没有显式地 经过测试,尽管2.4分支可能会使用reduced 功能。较新的版本应该可以正常工作。

安全性

塔萨的安全完全取决于你如何使用它。如果你使用 通过加密和 通过身份验证的传输,你会做得很好。最简单的方法 这是使用ssh端口转发或ipsec来传输redis 交通。不过,你也可以把螺柱放在redis前面来做tls。 这更复杂。

作者在一次性云主机上使用tasa workers primary。

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

推荐PyPI第三方库


热门话题
java以编程方式最小化JInternalFrame?   java使用JsonPath将不均匀列表提取为类型化对象   spring如何将java/resources文件获取到InputStream?   Java逻辑错误并不总是存在   java Firebase,更新特定字段   Java stream groupby并同时加入以进行csv导出   java安卓:如果出现任何声音,监听器将录制声音   java如何从多个文件中轮询最后修改的文件并发送到apache camel中的目标端点?   java是否返回多个比较器?   JavaBean IO:Date MMM在CAPS中不解析   当JButton从另一个类单击时,java正在更新JLabel   基类中子类的Java泛型初始化   jakarta ee Java ee制作一个以毫秒为间隔的计时器来发送数据包   json Windows Azure日期格式转换为Java日期