2016-04-19 12 views
1

tarantool fifottl queueを使用して、いくつかの遅延タスクを格納しようとしています。tarantool 1.6のキューでrestタスクの遅延時間を取得する方法

queue.tube.tube_name:put({ some_key, 'some_data' }, { delay = 80 }) 

がどのようにタスクの状態を変更せずに現在のタスクの遅延を取得することができます。

私は、タスクを保存するために、次のインターフェイスを使用する必要がありますか?

答えて

1

短く: キューAPIを使用してこれを行う方法はありません。

長い答え: このキューの基本的なルールの1つは、「それが行われていないとタスクについて知っている人はいません」というルールです。

ダーティハック: あなたはTarantool空間からこの情報を取ることができます:

local states = require('queue.abstract.state') 

local state, time = *queue-instance*.space:get{*TASK_ID*}:unpack(2, 3)} 

if state == states.DELAYED then 
    -- task is delayed, so time in `time` is the right time 
end