Are HTTP.jl and Diana.jl production ready (mature)?

Hi,

I don’t have much (any) time to write much of an answer but this: JuliaCon 2020 | Building Microservices and Applications in Julia - YouTube with the associated codebase: GitHub - quinnj/MusicAlbums.jl is potentially your best place to start.

Note that you probably want to strip out the Auth elements to get it running (it references local storage) and this DockerFile (change to your .jl files) may just work for Linux (I had to play with the CPU target to get it working in Kubernetes)

FROM julia:1.6.1

# in Project.toml and add that to the container instead.

# Only add Project.toml, Manifest.toml, docker-simple.jl, and /src
ADD *.toml ./usr/bin/CHANGE_TO_YOUR_PROJ_DIR/
EXPOSE 8080
ADD . ./usr/bin/CHANGE_TO_YOUR_PROJ_DIR/

WORKDIR /usr/bin/CHANGE_TO_YOUR_PROJ_DIR/
ENV JULIA_PROJECT=@
ENV JULIA_CPU_TARGET=generic,cx16;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)
ENV JULIA_NUM_THREADS=16
ENV JULIA_DEPOT_PATH="/root/.julia/"
RUN julia --project=@. -E      'using Pkg;pkg"activate ."; pkg"instantiate";pkg"precompile";' 
CMD julia --project=@. -e 'include("src/CHANGE_TO_YOUR_ENTRY_FILE.jl"); CHANGE_TO_YOUR_ENTRY_FILE.run();'

on the comment re GO vs Julia (I can’t actually spot your original GO reference?) - if you have a microservice architecture then you would/could/should use both. If you need DB connections. ODBC.jl is the pkg to use, e.g. this post.

Good luck

Regards

2 Likes