Skip to content

Commit e39a768

Browse files
committed
Remove duplicate set_vt
1 parent 6d5f6c1 commit e39a768

2 files changed

Lines changed: 6 additions & 80 deletions

File tree

pgmq_sqlalchemy/queue.py

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,67 +1364,6 @@ def metrics_all(self) -> Optional[List[QueueMetrics]]:
13641364
return self.loop.run_until_complete(self._metrics_all_async())
13651365
return self._metrics_all_sync()
13661366

1367-
def _set_vt_sync(self, queue_name: str, msg_id: int, vt: int) -> Optional[Message]:
1368-
"""Set the visibility timeout of a message synchronously."""
1369-
with self.session_maker() as session:
1370-
row = session.execute(
1371-
text("select * from pgmq.set_vt(:queue_name, :msg_id, :vt);"),
1372-
{"queue_name": queue_name, "msg_id": msg_id, "vt": vt},
1373-
).fetchone()
1374-
session.commit()
1375-
if row is None:
1376-
return None
1377-
return Message(
1378-
msg_id=row[0], read_ct=row[1], enqueued_at=row[2], vt=row[3], message=row[4]
1379-
)
1380-
1381-
async def _set_vt_async(
1382-
self, queue_name: str, msg_id: int, vt: int
1383-
) -> Optional[Message]:
1384-
"""Set the visibility timeout of a message asynchronously."""
1385-
async with self.session_maker() as session:
1386-
row = (
1387-
await session.execute(
1388-
text("select * from pgmq.set_vt(:queue_name, :msg_id, :vt);"),
1389-
{"queue_name": queue_name, "msg_id": msg_id, "vt": vt},
1390-
)
1391-
).fetchone()
1392-
await session.commit()
1393-
if row is None:
1394-
return None
1395-
return Message(
1396-
msg_id=row[0], read_ct=row[1], enqueued_at=row[2], vt=row[3], message=row[4]
1397-
)
1398-
1399-
def set_vt(self, queue_name: str, msg_id: int, vt: int) -> Optional[Message]:
1400-
"""
1401-
Set the visibility timeout of a message.
1402-
1403-
Args:
1404-
queue_name (str): The name of the queue.
1405-
msg_id (int): The message ID.
1406-
vt (int): The new visibility timeout in seconds.
1407-
1408-
Returns:
1409-
|schema_message_class|_ or ``None`` if the message does not exist.
1410-
1411-
Usage:
1412-
1413-
.. code-block:: python
1414-
1415-
msg_id = pgmq_client.send('my_queue', {'key': 'value'})
1416-
msg = pgmq_client.read('my_queue', vt=10)
1417-
# extend the visibility timeout
1418-
msg = pgmq_client.set_vt('my_queue', msg_id, 20)
1419-
assert msg is not None
1420-
1421-
"""
1422-
if self.is_async:
1423-
return self.loop.run_until_complete(
1424-
self._set_vt_async(queue_name, msg_id, vt)
1425-
)
1426-
return self._set_vt_sync(queue_name, msg_id, vt)
1427-
14281367
def _detach_archive_sync(self, queue_name: str) -> None:
14291368
"""Detach the archive table for a queue synchronously."""
14301369
with self.session_maker() as session:

tests/test_queue.py

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,12 @@ def test_set_vt_to_smaller_value(pgmq_setup_teardown: PGMQ_WITH_QUEUE):
287287
assert pgmq.read(queue_name) is not None
288288

289289

290+
def test_set_vt_not_exist(pgmq_setup_teardown: PGMQ_WITH_QUEUE):
291+
pgmq, queue_name = pgmq_setup_teardown
292+
msg_updated = pgmq.set_vt(queue_name, 999, 20)
293+
assert msg_updated is None
294+
295+
290296
def test_pop(pgmq_setup_teardown: PGMQ_WITH_QUEUE):
291297
pgmq, queue_name = pgmq_setup_teardown
292298
msg = MSG
@@ -430,25 +436,6 @@ def test_metrics_all_queues(pgmq_setup_teardown: PGMQ_WITH_QUEUE):
430436
assert queue_2.total_messages == 2
431437

432438

433-
# Tests for set_vt method
434-
def test_set_vt(pgmq_setup_teardown: PGMQ_WITH_QUEUE):
435-
pgmq, queue_name = pgmq_setup_teardown
436-
msg = MSG
437-
msg_id = pgmq.send(queue_name, msg)
438-
msg_read = pgmq.read(queue_name, vt=10)
439-
assert msg_read.msg_id == msg_id
440-
# extend the visibility timeout
441-
msg_updated = pgmq.set_vt(queue_name, msg_id, 20)
442-
assert msg_updated is not None
443-
assert msg_updated.msg_id == msg_id
444-
445-
446-
def test_set_vt_not_exist(pgmq_setup_teardown: PGMQ_WITH_QUEUE):
447-
pgmq, queue_name = pgmq_setup_teardown
448-
msg_updated = pgmq.set_vt(queue_name, 999, 20)
449-
assert msg_updated is None
450-
451-
452439
# Tests for detach_archive method
453440
@pgmq_deps
454441
def test_detach_archive(pgmq_fixture, db_session):

0 commit comments

Comments
 (0)