Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Tasks ttl and ttr wrong behavior

オープン
#146 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
lua
領域
backend

調査の方向性

queue.create_tube、tube:put、tube:take、tube:ackをttl=5およびttr=100で使用して動作を再現し、その後、タスクのライフサイクルがtake後の期限切れをどのように処理するかを調査します。完了の条件は、取得されたタスクが残りのttlに加えてttrの期間も確認可能なままであり、「Task was not taken in the session.」を返さないことです。

索引モデルが issue の本文から書いたものです。

説明

bug

When we put a task with ttl and ttr set, it behaves incorrectly.

Example:
queue = require 'queue'
queue.create_tube('test_ttr', 'fifottl')
queue.tube.test_ttr:put('foobar', {ttr=100, ttl=5})
queue.tube.test_ttr:take(0)

----- Wait six seconds
queue.tube.test_ttr:ack(0)
- error: Task was not taken in the session

I think this behavior is due to the fact that the task was removed from the queue after ttl = 5 seconds.
But in my opinion, when the task was taken, it should has a new ttl in the queue = remaining time + ttr

Something like that 3+100 and it should ack() correctly without error within 103 seconds

主要言語
Lua
スター
244
フォーク
56
平均マージ
6日 8時間
マージ済み PR(30日)
1

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

tarantool/queue のほかの issue

tarantool/queue の issue をすべて見る

似ている issue

Lua の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。