摘要
- 「HHBchain」中使用了 CCXT 而且目前的项目是使用 celery 做的分布式,多个 CCXT 对象会在多个 celery worker 进程中被重复使用,这样就会存在 nonce 被重复的问题,所以这里必须对 CCXT 对象加锁。目前在研究锁方案。
- 「django-easy-validator」今天修复了几个小 BUG, 基本上已经能够使用了,最近要发一个新版本呢。
统计
- 工作时段 : 9:00 - 12:00, 14:00 - 19:00
- 工作时长 : 8 Hours
- 代码 : 4 Commits
- 读书 : 1 Hours
- 写作 : 0.1 Hour
- 练琴 : 1 Hour
- 发呆 大专栏 工作日志-20180707: 0 Hour
备注
关于锁的实现我想到了两种方案,一种是使用 python 自带的锁,每一种 CCXT 对象生成一个锁,各自锁各自的,这样在只有一个 celery worker 的时候是起作用的,因为在 fork 之前各个进程已经获取到锁了,但是在分布式的情况下就完全不起作用了。
原因是每个 celery woker 都会有自己的环境变量,所以锁没有共享,也就无法加锁, 这个时候只能使用 linux 提供的文件锁来解决这个问题,一个 CCXT exchange 对象一个文件,这样就可以解决在分布式环境下的锁问题了。
这种方案还有待测试,思路上是能够想通的,看明天的测试结果把。
原文地址:https://www.cnblogs.com/sanxiandoupi/p/11693222.html
时间: 2024-08-01 06:17:45