11 数字货币交易系统python实践 代少飞
数字货币交易系统 Python实践 代少飞 目录 CONTENTS 常见问题 数据库锁问题 任务调度框架 监控 单击此处添加标题 1 常见问题 队列数据丢失 队列挂掉 负数资产 冲钱一次,转两倍资产 用户资产 用户发现自己资产为负数 负数资产 充一次转双倍 队列数据丢失 队列挂掉 RabbitMQ 撮合或者清算队列数据丢失 订单摆上去,能交易 RabbitMQ队列数据丢失 • 确保消息持久化,设置durable=True, 声明exchange,queue 持久化,delivery_mode=2 指明message为持久 • 处理完后才确认消息 RabbitMQ挂掉 • 流程设计不合理,导致队列之间高频互传, 最后RabbitMQ挂掉 • 使用Redis统计短时间相同订单传递次数 或者在消息体里面添加计数字段,再做相应限制处理 可动态调整(添加,修改,删除)任务 • 远程调用支持RPyC(一个用作远程过程调用,同时也可以用作分 布式计算的Python模块),少量代码,轻松远程调用 APscheduler+twisted 4 监控 交易系统一行代码写错,可能损失好几百万 监控 • 首先每一笔资金变动都得有变动前后的值和原因 • 挂单精度是否正确 • 一个账户,一个币种,不算手续费,初略盘点 • 利用订单客观数据(挂单价格,数量,手续费),复现交易,与交0 码力 | 21 页 | 1.77 MB | 1 年前3Python3 基础教程 - 廖雪峰
以做网站,很多著名的网站包括 YouTube 就是 Python 写的;可以做网 络游戏的后台,很多在线游戏的后台都是 Python 开发的。总之就是能 干很多很多事啦。 Python 当然也有不能干的事情,比如写操作系统,这个只能用 C 语言写; 写手机应用,只能用 Swift/Objective-C(针对 iPhone)和 Java(针对 Android);写 3D 游戏,最好用 C 或 C++。 如果你是小白用户,满足以下条件: 种编程语言的变化图: Python3 基础教程【完整版】 http://www.yeayee.com/ 8/531 总的来说,这几种编程语言各有千秋。C 语言是可以用来编写操作系统 的贴近硬件的语言,所以,C 语言适合开发那些追求运行速度、充分发 挥硬件性能的程序。而 Python 是用来编写应用程序的高级编程语言。 当你用一种语言开始作真正的软件开发时,你除了编写代码外,还需要 适合开发哪些类型的应用呢? Python3 基础教程【完整版】 http://www.yeayee.com/ 10/531 首选是网络应用,包括网站、后台服务等等; 其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等; 另外就是把其他语言开发的程序再包装起来,方便使用。 最后说说 Python 的缺点。 任何编程语言都有缺点,Python 也不例外。优点说过了,那 Python0 码力 | 531 页 | 5.15 MB | 1 年前3PyWebIO v1.1.0 使用手册
-U pywebio 开发版安装: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO 要求 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 1.1.0 6 Chapter 2. Install CHAPTER3 Hello, world text', required=True) 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回 None,否则返回错误消息: def check_age(p): # 检验函数校验通过时返回 None,否则返回错误消息 if p < 10: return 'Too young!!' if p > 60: return 'Too old!!' age = input("How 输入组中同样支持使用 validate 参数设置校验函数,其接受整个表单数据作为参数: def check_form(data): # 检验函数校验通过时返回 None,否则返回 (input name, 错误消息) if len(data['name']) > 6: return ('name', '名字太长!') if data['age'] <= 0: return ('age', '年龄不能为负数!')0 码力 | 98 页 | 1.73 MB | 1 年前3PyWebIO v1.0.3 使用手册
pip3 install -U --force-reinstall https://code.aliyun.com/wang0618/pywebio/repository/ �→archive.zip 系统要求: PyWebIO 要求 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 1.0.3 6 Chapter 2. Install CHAPTER3 Hello, world text', required=True) 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回 None,否则返回错误消息: def check_age(p): # 检验函数校验通过时返回 None,否则返回错误消息 if p < 10: return 'Too young!!' if p > 60: return 'Too old!!' age = input("How 输入组中同样支持使用 validate 参数设置校验函数,其接受整个表单数据作为参数: def check_form(data): # 检验函数校验通过时返回 None,否则返回 (input name, 错误消息) if len(data['name']) > 6: return ('name', '名字太长!') if data['age'] <= 0: return ('age', '年龄不能为负数!')0 码力 | 94 页 | 1.71 MB | 1 年前5PyWebIO v1.1.0 使用手册
pywebio 开发版安装: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO要求 Python 版本在 3.5.2 及以上 Hello, world 这是一个使用PyWebIO计算 BMI指数 [https://en.wikipedia.org/w type=NUMBER) 输入选项 输入函数可指定的参数非常丰富(全部参数及含义请见 函数文档 ): 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回None,否则返回 错误消息: # 密码输入 password = input("Input password", type=PASSWORD) # 下拉选择框 gift = select('Which gift you want help_text='This is help text', required=True) def check_age(p): # 检验函数校验通过时返回None,否则返回错误消息 if p < 10: return 'Too young!!' if p > 60: return 'Too old!!' age = input("How0 码力 | 119 页 | 7.41 MB | 1 年前3PyWebIO v0.3.0 使用手册
上的包更新可能滞后,建议使用源码安装: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO 要求 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 0.3.0 6 Chapter 2. Install CHAPTER3 Hello, world help text', required=True) 则将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数校验通过时返回 None,否则返回错误消息: def check_age(p): # 检验函数校验通过时返回 None,否则返回错误消息 if p < 10: return 'Too young!!' if p > 60: return 'Too old!!' age = input("How data['age']) 输入组中同样支持设置校验函数,其接受整个表单数据作为参数: def check_form(data): # 检验函数校验通过时返回 None,否则返回 (input name, 错误消息) if len(data['name']) > 6: return ('name', '名字太长!') if data['age'] <= 0: return ('age', '年龄不能为负数!')0 码力 | 70 页 | 1.41 MB | 1 年前3PyWebIO v1.2.3 使用手册
-U pywebio 开发版: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO 要求 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 1.2.3 6 Chapter 2. Installation CHAPTER3 Hello help_text='This is help text', required=True) 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回 None,否则返回错误消息: def check_age(p): # return None when the check passes, otherwise return the error␣ �→message if put_text 输出文本 put_markdown 输出 Markdown put_info*† put_success*† put_warning*† put_error*† 输出通知消息 put_html 输出 Html put_link 输出链接 put_processbar 输出进度条 set_processbar 设置进度条进度 put_loading† 输出加载提示0 码力 | 102 页 | 1.67 MB | 1 年前3PyWebIO v1.2.2 使用手册
-U pywebio 开发版: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO 要求 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 1.2.2 6 Chapter 2. Installation CHAPTER3 Hello help_text='This is help text', required=True) 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回 None,否则返回错误消息: def check_age(p): # return None when the check passes, otherwise return the error␣ �→message if put_text 输出文本 put_markdown 输出 Markdown put_info*† put_success*† put_warning*† put_error*† 输出通知消息 put_html 输出 Html put_link 输出链接 put_processbar 输出进度条 set_processbar 设置进度条进度 put_loading† 输出加载提示0 码力 | 102 页 | 1.69 MB | 1 年前3PyWebIO v1.2.3 使用手册
-U pywebio 开发版: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO要求 Python 版本在 3.5.2 及以上 Hello, world 这是一个使用PyWebIO计算 BMI指数 [https://en.wikipedia.org/w type=NUMBER) 输入选项 输入函数可指定的参数非常丰富(全部参数及含义请见 函数文档 ): 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回None,否则返回 错误消息: # Password input password = input("Input password", type=PASSWORD) # Drop-down selection gift = put_text 输出文本 put_markdown 输出Markdown put_info*† put_success*† put_warning*† put_error*† 输出通知消息 put_html 输出Html put_link 输出链接 put_processbar 输出进度条 set_processbar 设置进度条进度 put_loading† 输出加载提示0 码力 | 119 页 | 7.44 MB | 1 年前3PyWebIO v1.2.2 使用手册
-U pywebio 开发版: pip3 install -U https://code.aliyun.com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO要求 Python 版本在 3.5.2 及以上 Hello, world 这是一个使用PyWebIO计算 BMI指数 [https://en.wikipedia.org/w type=NUMBER) 输入选项 输入函数可指定的参数非常丰富(全部参数及含义请见 函数文档 ): 以上代码将在浏览器上显示如下: 我们可以为输入指定校验函数,校验函数应在校验通过时返回None,否则返回 错误消息: # Password input password = input("Input password", type=PASSWORD) # Drop-down selection gift = put_text 输出文本 put_markdown 输出Markdown put_info*† put_success*† put_warning*† put_error*† 输出通知消息 put_html 输出Html put_link 输出链接 put_processbar 输出进度条 set_processbar 设置进度条进度 put_loading† 输出加载提示0 码力 | 119 页 | 7.41 MB | 1 年前3
共 169 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17