【问题标题】:Tarantool queue via .Net通过 .Net 进行 Tarantool 队列
【发布时间】:2018-06-03 09:10:05
【问题描述】:

我在我的.Net 项目中使用Tarantool 作为数据库和Web API。但除此之外,我想使用内置的Tarantool queues,但在.Net 下找不到与Tarantool queues 配合使用的适配器(如thisthisthis one)。使用.Net是否可以解决使用队列的问题?

【问题讨论】:

  • 我怀疑当前的 C# 驱动程序是否支持队列。您可以使用await box.Call("some_function") 在 tarantool 端调用 lua 函数。这不是非常优雅的解决方案,但它可能是解决您问题的方法。请查看这篇文章 [1],尤其是“创建初始化脚本”和“调用 Lua 函数”部分。 [1]:hackernoon.com/…
  • @VladimirLebedev,感谢您的建议

标签: .net queue tarantool


【解决方案1】:

为了从不同平台轻松访问,我实现了一个简单的 Web API 来作为消费者访问 ddsfdfd 队列。对我来说,事实证明这是最方便的方式。就像下面的片段一样。

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()

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2017-01-16
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多