We are migrating one ROR application to Elixir. First, we are converting only the delayed job services to Elixir.
In Ruby, they have done the delayed job services using the delayed job library.
It is storing all the jobs in the table and consuming it from the library itself.
Now From Elixir, I have to write only the job-consuming part. Ruby App is producing jobs and storing that to the delayed job table.
What is the best way to do it?
What I have planned now is.
Using Genstage to Stream jobs from the delayed job table using https://hexdocs.pm/ecto/Ecto.Repo.html#c:stream/2 and consume it.
Genserver and Task Supervisor when processing that job.
Is there any better way to do this?
Can we stream data from the database and use Genstage?
Is Repo.stream is good for this job or any better option available?
Can anyone give insight on this? Your help is greatly appreciated.