From: Marek VavruĊĦa Date: Thu, 7 May 2015 13:42:57 +0000 (+0200) Subject: modules/ketcd: added polling X-Git-Tag: v1.0.0-beta1~204 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2a7b2a36ff10d98f54cd429f4a41e2f850f80d5;p=thirdparty%2Fknot-resolver.git modules/ketcd: added polling --- diff --git a/modules/ketcd/ketcd.lua b/modules/ketcd/ketcd.lua index fed767632..5a43af086 100644 --- a/modules/ketcd/ketcd.lua +++ b/modules/ketcd/ketcd.lua @@ -39,11 +39,17 @@ function ketcd.config(conf) if type(conf) == 'table' then for k,v in pairs(conf) do options[k] = v end end + -- create connection local cli, err = ketcd.Etcd.new(options) if err then error(err) end ketcd.cli = cli + -- schedule recurrent polling + -- @todo: the etcd has watch() API, but this requires + -- coroutines on socket operations + if ketcd.ev then event.cancel(ketcd.ev) end + ketcd.ev = event.recurrent(5 * sec, ketcd.reload) end return ketcd