多平台统一管理软件接口,如何实现多平台统一管理软件接口
282
2022-09-01
python之常用开发包sshtunnel(python程序包)
1.passlib (2&3的密码散列库,它提供 超过30种密码散列算法的跨平台实现,以及 作为管理现有密码哈希的框架。它被设计成有用的 对于范围广泛的任务,从验证/etc/shadow中找到的散列到 为多用户应用程序提供全强度密码哈希。
示例:
from passlib.apps import custom_app_context# 生成加密串pwd = '123456'hash_str = custom_app_context.encrypt(pwd)print(hash_str)# 验证密码custom_app_context.verify(pwd, self.password_hash)
2.消息队列rq ((Redis Queue)是一个简单的 Python 库,用于排队作业,并在后台使用 workers 处理作业。它得到了 Redis 的支持,而且其设计的进入门槛很低。它可以很容易地集成到你的 web 堆栈中。
安装:
pip install rq
使用示例:
jobs.pyimport requestsdef count_words(url): return len(requests.get(url).text)app.pyimport timefrom redis import Redisfrom rq import Queuefrom jobs import count_wordsdef run(): rq = Queue('default', connection=Redis()) for i in range(100): j = rq.enqueue(count_words, ' print('1 ', j.result) time.sleep(1) print('2 ', j.result)if __name__ == '__main__': run()
启动worker:
rq worker --with-scheduler
$ rq worker low high default16:56:02 RQ worker 'rq:worker:s2.6443' started, version 0.8.1 16:56:02 Cleaning registries for queue: low 16:56:02 Cleaning registries for queue: high 16:56:02 Cleaning registries for queue: default 后面的三个参数low、high、default,就是这个Worker将要运行哪些Queue里面的Job,这个顺序很重要,排在前面的Queue里面的Job将优先被运行。
添加任务:
python app.py
同时还支持调度任务
# Schedule job to run at 9:15, October 10thjob = queue.enqueue_at(datetime(2019, 10, 8, 9, 15), say_hello)# Schedule job to be run in 10 secondsjob = queue.enqueue_in(timedelta(seconds=10), say_hello)
失败回调, 重试次数
from rq import Retry# Retry up to 3 times, failed job will be requeued immediatelyqueue.enqueue(say_hello, retry=Retry(max=3))# Retry up to 3 times, with configurable intervals between retriesqueue.enqueue(say_hello, retry=Retry(max=3, interval=[10, 30, 60]))
3.远程隧道链接
sshtunnel
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~