An error occurred while loading the file. Please try again.
-
Isabella Almeida da Silva authored
- Verificando a existência da raiz da sandbox na inicialização do SGA
c21a54f4
local client = {}
local safer = require("safer")
local requests = require("requests")
local dkjson = require("dkjson")
local copas = require("copas")
requests.http_socket = require("copas.http")
requests.https_socket = require("copas.http")
local function util_sleep(sleeptime)
local co, ismain = coroutine.running()
if (not co) or ismain then
local socket = require("socket")
socket.sleep(sleeptime)
else
copas.sleep(sleeptime)
end
end
local function debug_response(response)
print(response.status_code)
print(response.url)
for k,v in pairs(response) do
print(k,v)
end
for k,v in pairs(response.headers) do
print(k,v)
end
local j, err = response.json()
if j then
for k,v in pairs(j or {}) do
print(k,v)
end
else
print(err)
end
end
local function do_request(verb)
return function(req)
local ok, response = pcall(requests[verb], req)
if ok then
return response
else
return nil, response
end
end
end
local do_get = do_request("get")
local do_post = do_request("post")
local Client = safer.readonly {
register = function(self, sga_type, nodes, persisted_jobs)
assert(type(persisted_jobs) == "table")
assert(type(persisted_jobs.lost) == "table")
assert(type(persisted_jobs.retrieved) == "table")
local sga_name = self.config.sga_name
for node_name, _ in pairs(nodes) do
if not node_name:match("^[a-zA-Z0-9_.]+$") then
return nil, "Invalid node name "..node_name
end
end
local attr = lfs.attributes(self.config.sandbox_root_dir)
if not (attr and attr.mode == "directory") then