Tweak socket config
This commit is contained in:
parent
a8268683e0
commit
a522cb834f
2 changed files with 8 additions and 7 deletions
|
|
@ -261,20 +261,21 @@
|
||||||
|
|
||||||
(defn load-pod
|
(defn load-pod
|
||||||
([pod-spec] (load-pod pod-spec nil))
|
([pod-spec] (load-pod pod-spec nil))
|
||||||
([pod-spec {:keys [:remove-ns :resolve :socket]}]
|
([pod-spec {:keys [:remove-ns :resolve :transport]}]
|
||||||
(let [pod-spec (if (string? pod-spec) [pod-spec] pod-spec)
|
(let [pod-spec (if (string? pod-spec) [pod-spec] pod-spec)
|
||||||
pb (ProcessBuilder. ^java.util.List pod-spec)
|
pb (ProcessBuilder. ^java.util.List pod-spec)
|
||||||
_ (if socket
|
socket? (identical? :socket transport)
|
||||||
|
_ (if socket?
|
||||||
(.inheritIO pb)
|
(.inheritIO pb)
|
||||||
(.redirectError pb java.lang.ProcessBuilder$Redirect/INHERIT))
|
(.redirectError pb java.lang.ProcessBuilder$Redirect/INHERIT))
|
||||||
_ (cond-> (doto (.environment pb)
|
_ (cond-> (doto (.environment pb)
|
||||||
(.put "BABASHKA_POD" "true"))
|
(.put "BABASHKA_POD" "true"))
|
||||||
socket (.put "BABASHKA_POD_SOCKET" "true"))
|
socket? (.put "BABASHKA_POD_TRANSPORT" "socket"))
|
||||||
p (.start pb)
|
p (.start pb)
|
||||||
port-file (when socket (port-file (.pid p)))
|
port-file (when socket? (port-file (.pid p)))
|
||||||
socket-port (when socket (read-port port-file))
|
socket-port (when socket? (read-port port-file))
|
||||||
[socket stdin stdout]
|
[socket stdin stdout]
|
||||||
(if socket
|
(if socket?
|
||||||
(let [^Socket socket
|
(let [^Socket socket
|
||||||
(loop []
|
(loop []
|
||||||
(if-let [sock (try (create-socket "localhost" socket-port)
|
(if-let [sock (try (create-socket "localhost" socket-port)
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
:edn edn/read-string
|
:edn edn/read-string
|
||||||
:json #(cheshire/parse-string % true)
|
:json #(cheshire/parse-string % true)
|
||||||
:transit+json transit-json-read)
|
:transit+json transit-json-read)
|
||||||
socket (= "true" (System/getenv "BABASHKA_POD_SOCKET"))
|
socket (= "socket" (System/getenv "BABASHKA_POD_TRANSPORT"))
|
||||||
[in out] (if socket
|
[in out] (if socket
|
||||||
(let [server (ServerSocket. 0)
|
(let [server (ServerSocket. 0)
|
||||||
port (.getLocalPort server)
|
port (.getLocalPort server)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue