다른 플랫폼에서 쉽게 액세스 할 수 있도록 간단한 ddsfdfd 대기열을 소비자로 액세스하기위한 간단한 웹 API를 구현했습니다. 나를 위해 그것은 가장 편리한 방법으로 밝혀졌습니다. 아래 조각과 같습니다.
local queue = require('queue')
local function take_task(req)
local json = require('json')
local task = queue.tube.queue_name:take(15)
local resp = nil
if task ~= nil then
resp = req:render({ json = {task} })
resp.status = 200
else
resp = req:render({ json = {task_id} })
resp.status = 404
end
return resp
end
local server = require('http.server').new(nil, 9090, {app_dir='/etc/tarantool/instances.enabled/'})
server:route({ path = '/take_task' }, take_task)
server:start()
현재 C# 드라이버가 대기열을 지원하는지 의심 스럽습니다. 당신은'await box.Call ("some_function")'을 사용하여 tarantool 측에서 루아 함수를 호출 할 수 있습니다. 매우 우아한 해결책은 아니지만 문제의 해결 방법이 될 수 있습니다. 이 포스트 [1], 특히 "초기화 스크립트 만들기"와 "루아 함수 호출하기"섹션을보십시오. [1] : https://hackernoon.com/using-tarantool-in-a-net-project-on-windows-2676253ce521 –
@VladimirLebedev, 조언 해 주셔서 감사합니다. – iPhosgen