lennart

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 (:

Showing Posts 4 to 1

kokolegorille

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.

hauleth

hauleth

In your mix.exs in your application/0 function you need to have mod: {QuantumExample.Application, []}. So your mix.exs will look something like:

defmodule QuantumExample.Mixproject do
  # …

  def application do
    [
      mod: {QuantumExample.Application, []}
    ]
  end

  # …
end
lennart

lennart OP

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?

kokolegorille

kokolegorille

Hello and welcome,
Well, it looks good, I reproduced it by just copy/paste your topic and it worked.

18:21:27.891 [debug] [:nonode@nohost][Elixir.Quantum.Executor] Task for job #Reference<0.1224732984.3074162690.196567> started on node nonode@nohost
this is a secondly testoutput!

Did You create the project with --sup?
Do You have a /config/config.exs, with name ending with .exs?

— All posts loaded —

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews