This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-12-27
Channels
- # announcements (2)
- # babashka (24)
- # beginners (116)
- # cider (7)
- # cljsrn (6)
- # clojure (38)
- # clojure-bay-area (4)
- # clojure-europe (3)
- # clojure-losangeles (1)
- # clojure-norway (10)
- # clojurescript (171)
- # datomic (16)
- # honeysql (3)
- # improve-getting-started (1)
- # introduce-yourself (2)
- # java (12)
- # malli (5)
- # membrane (2)
- # pedestal (3)
- # shadow-cljs (79)
- # spacemacs (6)
- # xtdb (10)
I am a little unfamiliar with Java, trying to chase a resource leak in a data ingest daemon I wrote in Clojure.
I have a bunch of go-blocks reading files using https://docs.oracle.com/javase/8/docs/api/java/io/FileInputStream.html. They don't explicitly call close()
on the stream. However, they delete the file after the stream is read into an AWS bucket. Do I need to call close explicitly on a stream after I am done with it?
In this case I want to have a number of processes (in the concurrency sense, not actual separate PIDs) listening on downloads coming on a conveyor belt/channel, unzip the zip files, and upload a subset of those files to AWS. How would I accomplish that outside of go blocks?
Go blocks are not threads, they are a series of callbacks attached to channels and then executed on a fixed size threadpool