7 ms·
Does anybody use this or anything similar? If so, what problems are you solving?
by freeqaz 6y ago
Does anybody use this or anything similar? If so, what problems are you solving?
- deleted 6y ago[deleted]
- barefeg 6y agoI’m guessing the fact that node is single threaded
- nobleach 6y agoJavaScript is single threaded, Node is most certainly not.
- gbrits 6y agoYes it surely is
- zbentley 6y agoMy "htop" display surely disagrees. So do my node programs that lag out waiting for disk IO thread pool slots. Sounds does node's documentation: https://nodejs.org/api/worker_threads.html https://nodejs.org/api/worker_threads.html
- hmcdona1 6y agoIt's not exactly. Certain operations like I/O are threaded in Node. libuv has it's own threadpool that it uses for a lot of these types of tasks.
- jayflux 6y agoNode uses a thread pool for tasks like reading files async and crypto operations etc, you can read about it here https://nodejs.org/en/docs/guides/dont-block-the-event-loop/ https://nodejs.org/en/docs/guides/dont-block-the-event-loop/
- curben 6y agoAFAIK this is a wrapper of worker_threads API. https://github.com/tuananh/camaro https://github.com/tuananh/camaro utilises this for multi-threading processing of XML input. Hexo (static site generator) is attempting to utilise this library (https://github.com/hexojs/hexo/issues/4355 https://github.com/hexojs/hexo/issues/4355).
- maxrev17 6y agoMight be quite nice for keeping tokens refreshed?
- Etheryte 6y agoThe worker API in Javascript is quite a pain to use, but needless to say multithreading is invaluable in many contexts, both in the browser and in Node. I haven't used this library but it seems to solve a similar problem to other ones in the same space — make writing multithreaded code sane, allowing you to avoid writing a bunch of repetitive boilerplate.
- Skhalar 6y agoThis is useful for processing large chunks of data like audio files (look at Superpowered sdk) but breaking em down or when processing multiple files.
- ddoolin 6y agoWe use worker threads directly to process large unorganized (for the browser) datasets and do some deductions before it hits the store. We also have a worker thread blocked on a redis channel that acts as a queue.
- niftylettuce 6y agoYeah. I built Bree @ https://jobscheduler.net https://jobscheduler.net It has support for worker threads + cron + human strings GH: https://github.com/breejs/bree https://github.com/breejs/bree
- ddoolin 6y agoThis is cool. Our use case was very simple so we went with node-schedule but this may have more upsides. I've had trouble with the former. Thanks.
- niftylettuce 6y agoI helped maintain all the Node.js node/cron/agenda libraries. Just switch to Bree and your troubles will be gone.
- rektide 6y agoKnex, the SQL query builder, uses Tarn.js[1] for connection pooling to the db. I've been using Tarn a bunch at work recently. We're doing some batch jobs, and I'm queuing work at each stage in Tarn.js pools. I created my own enqueue function that waits until the pool is less than a high-water mark in size before enqueueing. Then the pool has however many workers running. Neither of these are off-thread pools. But they help a lot of for managing multiple async operations. [1] https://github.com/vincit/tarn.js/ https://github.com/vincit/tarn.js/
- searchableguy 6y agoI use workers in deno to evaluate user facing code which may take a lot of time to finish and need sandboxing. Another place it's used in where I want to keep context and reuse it for subsequent code execution for each user. In deno, you can restrict what the code inside worker can do by passing a map of allowed permissions. I have built a simple privilege system on top of this to allow users different access level. This is cheaper and faster than spinning up container.
- domenicd 6y agoI maintain a command-line utility which assembles an eBook from scraped .xhtml files. It uses a similar package, workerpool, to process multiple chapters in parallel. https://github.com/domenic/worm-scraper/blob/master/lib/convert.js https://github.com/domenic/worm-scraper/blob/master/lib/conv... https://www.npmjs.com/package/workerpool https://www.npmjs.com/package/workerpool
- vorticalbox 6y agoAt work I use https://github.com/pioardi/poolifier https://github.com/pioardi/poolifier We have an api used for generating reports from mongo dB to csv, this let's the report process in the background leaving the report api to still handle requests.