I want to let the user run customly, statically predefined set of tasks from a web page, as well as view their states, results, possibly errors, arguments, when they were or will be executed…
A task might look like this:
defmodule MyTask1 do
def run (args) do
end
end
defmodule MyTask2 do
def run (args) do
end
end
defmodule MyTask3 do
def run (args) do
end
end
On a page “new task” I’d then show the user a dropdown with MyTask1
, ...3
and a button “run”. And on a page “list user’s tasks”, I’ll show him all the tasks created by HIM: the likes of their statuses, buttons to manage them (terminate, for instance), inserted_at, result…
Think of them as “spider tasks” – for site1, site2, site3…
“download tasks” – for youtube, vimeo, vk…
or anything similar.
Let’s say, I planed to use Oban
to power this. I’d then also need almost all the information that Oban
keeps in the oban_jobs
table – to show the user on a page. Additioanally, I’d need to be able to retrieve only the jobs of a particular user rather than all ones in the table.
Does Oban
have interface for retrieving the information about the jobs at all? If so, how would I do this?
Otherwise, what would be a way to retrieve it? By SQL, directly from the table?