lennart
Hello dear Elixir enthusiasts,
excuse my possible nooby coding, i’m new to the elixir/erlang world.
I’m currently trying to setup an application which will send monthly/daily reports via email.
I managed to get the part working where an email gets send etc. but i failed to setup a scheduler which performs a task to send the email periodically or at a specific date.
I tried it with quantum because it was the most recommended!
Because it did not work inside my existing application i tried to set quantum up from scratch on a fresh native elixir project by following this documentation hexdocs.pm/quantum/, naming it
:quantum_example
This is the code i used (it looks nearly like the one of the documentation):
the deps part of mix.exs:
defp deps do
[
{:quantum, "~> 3.0"}
# {:dep_from_hexpm, "~> 0.3.0"},
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
]
end
The scheduler:
defmodule QuantumExample.Scheduler do
use Quantum, otp_app: :quantum_example
end
The application’s supervision tree:
defmodule QuantumExample.Application do
use Application
def start(_type, _args) do
import Supervisor.Spec, warn: false
children = [
QuantumExample.Scheduler
]
opts = [strategy: :one_for_one, name: Quantum.Supervisor]
Supervisor.start_link(children, opts)
end
end
And to test its functionality i set up this config with IO.puts stuff to see if it is doing where i want it to do it:
import Config
config :logger, level: :debug
config :quantum_example, QuantumExample.Scheduler,
jobs: [
{"@secondly", fn -> IO.puts("this is a secondly testoutput!") end},
{"@minutely", fn -> IO.puts("this is a minutely testoutput!") end},
]
My Problem is that it does not even do anything at all. the quantum_example application starts (iex -S mix or mix run --no-halt) without any error but neither every second nor every minute i get an IO.puts output. Not even the logger gives something. Not even saying a job got added or startet or failed.
I am sure I just failed to do the configuration properly. It feels like quantum does not even get started..
Btw I am on Elixir 1.10 and used quantum 3.0.
I appreciate any form of advise what to try out or where I took a wrong turn!
Thanks in advance everybody (:
Trending in Questions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex











Showing Posts 1 to 4- Show Best Posts
- Show All Posts (oldest first)
- Show All Posts (newest first)
kokolegorille
Hello and welcome,
Well, it looks good, I reproduced it by just copy/paste your topic and it worked.
Did You create the project with --sup?
Do You have a /config/config.exs, with name ending with .exs?
lennart
Wow, thanks for your fast reply!
well no i did not generate it with --sup. But i tried it with --sup and now it works for me too! thank u so much!
My question now is: is there a way to generate the otp app skeleton in my existing project? or do i have to create a new project and feed it with all my existing modules?
hauleth
In your
mix.exsin yourapplication/0function you need to havemod: {QuantumExample.Application, []}. So yourmix.exswill look something like:kokolegorille
Is it an umbrella project?
If yes it will be easy, if not You can package into a module, and add to dependencies…
Or just copy file, and configure accordingly.