Skip to content

Library Job Processing layout #4

@4tuw2tuv0

Description

@4tuw2tuv0

I'm looking at the how Oban's being used, now, and I'm either just not as familiar with Elixir, yet, (first time seeing @spec, @callback, and @impl) or just taking a bit to start to ingest things so I grasp them well.

Could I just get a sort of explanation of how the code is laid out, organizationally?

If I've understood things, PublisherWorker and ReceiverWorker handle performing jobs which have been queued with WorkerHelper just providing sort of helpful/useful utility support for the former two…? That's, honestly, just a guess, though; I noticed it has , queue: wherever it's invoked so maybe it's a feature of Oban I just haven't discovered/read, yet.

And it looks like Federator implements just the functions relevant to the jobs (such as perform and queuing the jobs).

And some of those functions are fully implemented in ActivityPubWeb.Publisher, which implements the behavior of ActivityPubWeb.Federator.Publisher? Was that a requirement of Oban or just a design decision? Queuetopia was insired by Oban (and has the most recent of recent commits) so I'm trying to see how to integrate it in so I'm trying understand how the Oban-related files are working to understand how the Queuetopia bits might fit in with the current setup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions