cobweb-launcher 1.2.58__py3-none-any.whl → 1.2.59__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cobweb-launcher might be problematic. Click here for more details.

cobweb/db/redis_db.py CHANGED
@@ -4,7 +4,7 @@ from cobweb import setting
4
4
  from redis.exceptions import ConnectionError, TimeoutError
5
5
 
6
6
 
7
- class RedisClient:
7
+ class RedisDB:
8
8
  def __init__(self, **kwargs):
9
9
  redis_config = kwargs or setting.REDIS_CONFIG
10
10
  self.host = redis_config['host']
@@ -147,4 +147,69 @@ class RedisClient:
147
147
 
148
148
  def execute_lua(self, lua_script: str, keys: list, *args):
149
149
  execute = self.execute_command("register_script", lua_script)
150
- return execute(keys=keys, args=args)
150
+ return execute(keys=keys, args=args)
151
+
152
+ def lock(self, key, t=15) -> bool:
153
+ lua_script = """
154
+ local status = redis.call('setnx', KEYS[1], 1)
155
+ if ( status == 1 ) then
156
+ redis.call('expire', KEYS[1], ARGV[1])
157
+ end
158
+ return status
159
+ """
160
+ status = self.execute_lua(lua_script, [key], t)
161
+ return bool(status)
162
+
163
+ def members(self, key, score, start=0, count=5000, _min="-inf", _max="+inf") -> list:
164
+ lua_script = """
165
+ local min = ARGV[1]
166
+ local max = ARGV[2]
167
+ local start = ARGV[3]
168
+ local count = ARGV[4]
169
+ local score = ARGV[5]
170
+ local members = nil
171
+
172
+ if ( type(count) == string ) then
173
+ members = redis.call('zrangebyscore', KEYS[1], min, max, 'WITHSCORES')
174
+ else
175
+ members = redis.call('zrangebyscore', KEYS[1], min, max, 'WITHSCORES', 'limit', start, count)
176
+ end
177
+
178
+ local result = {}
179
+
180
+ for i = 1, #members, 2 do
181
+ local priority = nil
182
+ local member = members[i]
183
+ local originPriority = nil
184
+ if ( members[i+1] + 0 < 0 ) then
185
+ originPriority = math.ceil(members[i+1]) * 1000 - members[i+1] * 1000
186
+ else
187
+ originPriority = math.floor(members[i+1])
188
+ end
189
+
190
+ if ( score + 0 >= 1000 ) then
191
+ priority = -score - originPriority / 1000
192
+ elseif ( score + 0 == 0 ) then
193
+ priority = originPriority
194
+ else
195
+ originPriority = score
196
+ priority = score
197
+ end
198
+ redis.call('zadd', KEYS[1], priority, member)
199
+ table.insert(result, member)
200
+ table.insert(result, originPriority)
201
+ end
202
+
203
+ return result
204
+ """
205
+ members = self.execute_lua(lua_script, [key], _min, _max, start, count, score)
206
+ return [(members[i].decode(), int(members[i + 1])) for i in range(0, len(members), 2)]
207
+
208
+ def done(self, keys: list, *args) -> list:
209
+ lua_script = """
210
+ for i, member in ipairs(ARGV) do
211
+ redis.call("zrem", KEYS[1], member)
212
+ redis.call("sadd", KEYS[2], member)
213
+ end
214
+ """
215
+ self.execute_lua(lua_script, keys, *args)
@@ -1,7 +1,6 @@
1
1
  import time
2
2
  import threading
3
3
 
4
- from h5py.h5pl import insert
5
4
 
6
5
  from cobweb.db import RedisDB
7
6
  from cobweb.base import Seed, logger
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cobweb-launcher
3
- Version: 1.2.58
3
+ Version: 1.2.59
4
4
  Summary: spider_hole
5
5
  Home-page: https://github.com/Juannie-PP/cobweb
6
6
  Author: Juannie-PP
@@ -17,7 +17,7 @@ cobweb/crawlers/crawler.py,sha256=pePDGroD6JJAht5QTU51L7MkFIY4ob9TKpznZ2wUmsw,89
17
17
  cobweb/crawlers/file_crawler.py,sha256=2Sjbdgxzqd41WykKUQE3QQlGai3T8k-pmHNmPlTchjQ,4454
18
18
  cobweb/db/__init__.py,sha256=uZwSkd105EAwYo95oZQXAfofUKHVIAZZIPpNMy-hm2Q,56
19
19
  cobweb/db/api_db.py,sha256=bDc5dJQxq4z04h70KUTHd0OqUOEY7Cm3wcNJZtTvJIM,3015
20
- cobweb/db/redis_db.py,sha256=7lnEbPjfyvWuuP2f9hZAfKxpK31eJCoDAB5wfNkds34,5495
20
+ cobweb/db/redis_db.py,sha256=A8J-QhtSt0GWnRVdFFFrkvg3kkCROwjO7y8efcaIRoA,7721
21
21
  cobweb/db/redis_db_new.py,sha256=F09LWVjtC2JFdCaKatZ2bAOLKbsnes85_nZRe2dtSIc,4697
22
22
  cobweb/exceptions/__init__.py,sha256=E9SHnJBbhD7fOgPFMswqyOf8SKRDrI_i25L0bSpohvk,32
23
23
  cobweb/exceptions/oss_db_exception.py,sha256=iP_AImjNHT3-Iv49zCFQ3rdLnlvuHa3h2BXApgrOYpA,636
@@ -25,7 +25,7 @@ cobweb/launchers/__init__.py,sha256=qMuVlQcjErVK67HyKFZEsXf_rfZD5ODjx1QucSCKMOM,
25
25
  cobweb/launchers/launcher.py,sha256=y1a72sANV-oJVpy_BI7BwKy7fY4AnpHqJK3t6czoCts,7896
26
26
  cobweb/launchers/launcher_air.py,sha256=KAk_M8F3029cXYe7m4nn3Nzyi89lbxJ2cqZjqW8iZ0E,2832
27
27
  cobweb/launchers/launcher_api.py,sha256=7K7Kl3dk7Ung9iRBwhiMrALEJywcR66ie5RIkLQEM-Y,7909
28
- cobweb/launchers/launcher_pro.py,sha256=EuTsa6ErqpqytdnWhQxHFhO6nXK1V9huvtAAKc_5a6U,8095
28
+ cobweb/launchers/launcher_pro.py,sha256=TOGwlPq75K1pURR0aI0PhVXpG5S0Lod3QfJZsjIF5Cc,8066
29
29
  cobweb/pipelines/__init__.py,sha256=zSUsGtx6smbs2iXBXvYynReKSgky-3gjqaAtKVnA_OU,105
30
30
  cobweb/pipelines/pipeline.py,sha256=4TJLX0sUHRxYndF5A4Vs5btUGI-wigkOcFvhTW1hLXI,2009
31
31
  cobweb/pipelines/pipeline_console.py,sha256=NEh-4zhuVAQOqwXLsqeb-rcNZ9_KXFUpL3otUTL5qBs,754
@@ -38,8 +38,8 @@ cobweb/utils/bloom.py,sha256=vng-YbKgh9HbtpAWYf_nkUSbfVTOj40aqUUejRYlsCU,1752
38
38
  cobweb/utils/dotting.py,sha256=mVICaa26R-dQ4JGmPK-kkR6QjX38QiRewXZnGb2DCIc,1784
39
39
  cobweb/utils/oss.py,sha256=gyt8-UB07tVphZLQXMOf-JTJwU-mWq8KZkOXKkAf3uk,3513
40
40
  cobweb/utils/tools.py,sha256=5JEaaAwYoV9Sdla2UBIJn6faUBuXmxUMagm9ck6FVqs,1253
41
- cobweb_launcher-1.2.58.dist-info/LICENSE,sha256=z1rxSIGOyzcSb3orZxFPxzx-0C1vTocmswqBNxpKfEk,1063
42
- cobweb_launcher-1.2.58.dist-info/METADATA,sha256=QH36iouuBHu1S7g9-57Zek9aYa0CiEu7aIN7YOoNjzs,6510
43
- cobweb_launcher-1.2.58.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
44
- cobweb_launcher-1.2.58.dist-info/top_level.txt,sha256=4GETBGNsKqiCUezmT-mJn7tjhcDlu7nLIV5gGgHBW4I,7
45
- cobweb_launcher-1.2.58.dist-info/RECORD,,
41
+ cobweb_launcher-1.2.59.dist-info/LICENSE,sha256=z1rxSIGOyzcSb3orZxFPxzx-0C1vTocmswqBNxpKfEk,1063
42
+ cobweb_launcher-1.2.59.dist-info/METADATA,sha256=QL6FY17qhB83qCW51T4gRRAM-FiB_xw97SeArPYogtE,6510
43
+ cobweb_launcher-1.2.59.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
44
+ cobweb_launcher-1.2.59.dist-info/top_level.txt,sha256=4GETBGNsKqiCUezmT-mJn7tjhcDlu7nLIV5gGgHBW4I,7
45
+ cobweb_launcher-1.2.59.dist-info/RECORD,,