std_json_io alternatives and similar packages
Based on the "Miscellaneous" category.
Alternatively, view std_json_io alternatives based on common mentions on social networks and blogs.
-
ex_rated
ExRated, the Elixir OTP GenServer with the naughty name that allows you to rate-limit calls to any service that requires it. -
ex2ms
:ets.fun2ms for Elixir, translate functions to match specifications -
phone
Elixir phone number parser for numbers in international standard. -
ecto_autoslug_field
Automatically create slugs for Ecto schemas. -
gen_task
Generic Task behavior that helps encapsulate errors and recover from them in classic GenStage workers. -
exprint
A printf / sprintf library for Elixir. It works as a wrapper for :io.format. -
countriex
All sorts of useful information about every country. A pure elixir port of the ruby Countries gem -
Jisho-Elixir
A Japanese dictionary API; a wrapper around Jisho's API (http://jisho.org) -
indicado
Technical indicator library for Elixir with no dependencies. -
egaugex
A simple egauge parser to retrieve and parse data from egauge devices -
ratekeeper
Ratekeeper is a library for scheduling rate-limited actions. -
presentex
Elixir -> HTML/JavaScript based presentation framework intended for showing Elixir code -
mixstar
Elixir Mix task to starring GitHub repository with `mix deps.get`ting dependent library
Access the most powerful time series database as a service
Do you think we are missing an alternative of std_json_io or a related project?
README
StdJsonIo
Starts a pool of workers that communicate with an external script via JSON over STDIN/STDOUT.
Originally written to use react-stdio but can be used with any process that reads a JSON object from STDIN and outputs JSON on STDOUT.
Installation
If available in Hex, the package can be installed as:
Add
std_json_io
to your list of dependencies inmix.exs
:def deps do [{:std_json_io, "~> 0.1.0"}] end
Ensure
std_json_io
is started before your application:def application do [applications: [:std_json_io]] end
Setup
Define a module and use StdJsonIo.
defmodule MyApp.ReactIo do
use StdJsonIo, otp_app: :my_app
end
When you use StdJsonIo
your module becomes a supervisor. You'll need to add it
to your supervision tree.
children = [
# snip
supervisor(MyApp.ReactIo, [])
]
opts = [strategy: :one_for_one, name: MyApp]
Supervisor.start_link(children, opts)
Configuration
You can either configure as additional arguments of the use statement, or in your config file.
config :my_app, MyApp.ReactIo,
pool_size: 20, # default 5
max_overflow: 10, # default 10
script: "path/to/script", # for react-io use "react-stdio"
watch_files: [
Path.join([__DIR__, "../priv/server/js/component.js"]) # do not watch files in dev
]
script
- the script to run for the IO serverwatch_files
- A list of files to watch for changes. When the file changes, kill the IO worker and restart, picking up any changes. Use only in dev.pool_size
- The size for the pool of workers - See poolboysize
max_overflow
- The poolboymax_overflow