Поток записи Lua прерван: ошибка времени выполнения неверный аргумент #2 для "tonumber" (ожидаемое число, полученная строка)

Я использую Lapis Framework и Torch, иногда веб-сайт показывает внутреннюю ошибку сервера при попытке загрузить страницу, и ошибка от Lapis:

[error] 3726#81246: *19 lua entry thread aborted: runtime error: ...s/MyUser/torch/install/share/lua/5.1/xlua/init.lua:227: bad argument #2 to 'tonumber' (number expected, got string)
stack traceback:
coroutine 0:
    [C]: in function 'require'
    .../MyUser/torch/install/share/lua/5.1/lapis/init.lua:15: in function 'serve'
    content_by_lua(nginx.conf.compiled:22):2: in function <content_by_lua(nginx.conf.compiled:22):1>, client: 127.0.0.1, server: , request: "GET /recommend HTTP/1.1", host: "localhost:9999", referrer: "http://localhost:9999/home"

После осмотра проблема исчезла, когда я заметил эту часть:

local lapis = require("lapis")
local config = require("lapis.config").get()
local inspect = require("inspect")
local json = require('cjson')
local kb_recommend = require("recommender.knowledge")
-- local cb_recommend = require("recommender.content") <---- remark this

local mysql = require "luasql.mysql"
local env = mysql.mysql()
local conn = env:connect("restoran", "root", "")

Это ссылка на файл Recommender / content.lua:

package.path = package.path .. ";../?.lua"
local predictor = require("Content Based.predictor")
return predictor

Этот файл возвращает класс, в котором я написал код своего факела. Я подозреваю, что проблема связана с требованием, но не знаете почему? Я искал в Google решение, но ничего не нашел. Это моя текущая версия:

Lua 5.1.5
Torch7 
Lapis 1.6.0
nginx/1.13.9
openresty/1.13.6.1

кто-нибудь может помочь? Я очень новичок в среде Lua.

1 ответ

tonumber это функция Lua для такого примера: tonumber("10") или же tonumber(10)

Мне жаль, что я не могу помочь.

Если бы вы могли показать нам строку, где находится ошибка, я, скорее всего, смогу определить для вас исправление.

Другие вопросы по тегам