Skip to content

Commit f4b9d2e

Browse files
committed
Fix nodata bug
1 parent 2d857eb commit f4b9d2e

File tree

2 files changed

+15
-18
lines changed

2 files changed

+15
-18
lines changed

tarantool_queue/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
__version__ = "0.1.3"
22

3-
from .tarantool_queue import Task, Tube, Queue
4-
from .tarantool_tqueue import TQueue, TTube, TTask
3+
from .tarantool_queue import Queue
4+
from .tarantool_tqueue import TQueue
55

6-
__all__ = [Task, Tube, Queue, TTask, TTube, TQueue, __version__]
6+
__all__ = [Queue, TQueue, __version__]

tarantool_queue/tarantool_tqueue.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,11 @@ class TTask(object):
2323
2424
Don't instantiate it with your bare hands
2525
"""
26-
def __init__(self, queue, space=0, task_id=0,
27-
tube="", status="", raw_data=None):
26+
def __init__(self, queue, task_id=0,
27+
tube="", raw_data=None):
2828
self.task_id = unpack_long_long(task_id)
2929
self.tube = tube
30-
self.status = status
3130
self.raw_data = raw_data
32-
self.space = space
3331
self.queue = queue
3432
self.modified = False
3533

@@ -74,12 +72,12 @@ def data(self):
7472

7573
def __str__(self):
7674
args = (
77-
self.task_id, self.tube, self.status, self.space
75+
self.task_id, self.tube, self.queue.space
7876
)
79-
return "Task (id: {0}, tube:{1}, status: {2}, space:{3})".format(*args)
77+
return "Task (id: {0}, tube:{1}, space:{2})".format(*args)
8078

8179
def __del__(self):
82-
if self.status == 'taken' and not self.modified:
80+
if not self.modified:
8381
self.release()
8482

8583
@classmethod
@@ -89,12 +87,12 @@ def from_tuple(cls, queue, the_tuple):
8987
if the_tuple.rowcount < 1:
9088
raise TQueue.ZeroTupleException('error creating task')
9189
row = the_tuple[0]
90+
if len(row) < 9:
91+
raise TQueue.NoDataException('no data in the task')
9292
return cls(
9393
queue,
94-
space=queue.space,
9594
task_id=row[0],
9695
tube=row[4],
97-
status=row[3],
9896
raw_data=row[8],
9997
)
10098

@@ -110,6 +108,7 @@ class TTube(object):
110108
"""
111109
def __init__(self, queue, name, **kwargs):
112110
self.queue = queue
111+
self.tube = name
113112
self.opt = {
114113
'delay' : 0,
115114
'limits': 500000,
@@ -195,7 +194,7 @@ def put(self, data, **kwargs):
195194
str(opt["retry"]),
196195
self.serialize(data))
197196
)
198-
return the_tuple[0][0]
197+
return unpack_long_long(the_tuple[0][0])
199198

200199
def take(self, timeout=0):
201200
"""
@@ -255,6 +254,9 @@ class BadConfigException(Exception):
255254
class ZeroTupleException(Exception):
256255
pass
257256

257+
class NoDataException(Exception):
258+
pass
259+
258260
@staticmethod
259261
def basic_serialize(data):
260262
return msgpack.packb(data)
@@ -395,11 +397,6 @@ def _release(self, task_id, prio=0x7fff, delay=0, ttr=300, ttl=0, retry=5):
395397
the_tuple = self.tnt.call("box.queue.release", (
396398
str(self.space),
397399
str(task_id),
398-
str(prio),
399-
str(delay),
400-
str(ttr),
401-
str(ttl),
402-
str(retry)
403400
))
404401
return TTask.from_tuple(self, the_tuple)
405402

0 commit comments

Comments
 (0)