Skip to content

General improvements (v5) #95

@arthur-er

Description

@arthur-er

What would you like to be added:

  • Queues should be registered on provider boot method, instead of register method.
    This allows using other packages without needing to fight the package import order

  • Implement jobs as a abstract class instead of a interface
    This allows for many things, for example:

    • Possibility of using static key instead of needing to instantiate the job for dispatching via the manager
    • Removing the need for explicit job key (with the possibility of declaring one on the derived class if needed)
    • Possibility of automatic job discovery (by listing files and importing all the ones that prototype are instances of the base job)
    • Fluent interface for defining job options (delay, id, repeat, priority, lifo and parent) and dispatching the job
  • Receive queue/queue key array as a parameter for listen command (or possibility of loading a custom jobs declaration file)
    This allows running queues of higher priority on different machines

Is your enhancement request related to a problem? Please describe.

Only the provider boot method causes problems, the rest is only for quality of life


I'm willing to work on this if aproved

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