Best practices for dynamic workflows

31 views
Skip to first unread message

Alberto Mijares

unread,
Feb 14, 2020, 8:12:12 AM2/14/20
to Mojo Users Group
Dear mojo devs,

I want to design and develop a generic framework for documents
processing. Basically, a data input, validations, business rules,
optional rendering and delivery. So, the data input module might be
static but all the other modules would be custom according to the
needs. For example, one might want to deliver to a S3 bucket while
others might want to deliver via email or SMS.

Now the question is: what's the best approach for easily installing
and configuring such modules in the framework? The link between
modules would be a queue, not sure about the backend for those queues
yet, though, perhaps Pg or Celery. Ideally, when you install the
framework it comes with default "dummy" modules with some very basic
functionality that also serves as template for developing custom
modules.

Thanks in advance for your suggestions.


Alberto Mijares

Dan Book

unread,
Feb 14, 2020, 10:03:08 AM2/14/20
to mojol...@googlegroups.com
For distribution outside of CPAN, a cpanfile can specify "features" that can be requested when installing dependencies like: cpanm --installdeps --with-feature=foo .


For CPAN distributions, you can use optional features as well, but most people will ignore it because cpanm defaults to non-interactive. I would recommend providing additional distributions as plugins which provide the dependencies needed for their task.

-Dan

--
You received this message because you are subscribed to the Google Groups "Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mojolicious/CAGZBXN8s_aVkb81mQCnpeMO%2B7wOxyqWEKQ0My43TF3rbjqCDzg%40mail.gmail.com.

Sebastian Riedel

unread,
Feb 14, 2020, 11:02:37 AM2/14/20
to Mojolicious
The link between
modules would be a queue, not sure about the backend for those queues
yet, though, perhaps Pg or Celery.

Fyi. Mojolicious has a job queue too.


--
sebastian 

Alberto Mijares

unread,
Feb 17, 2020, 5:27:14 AM2/17/20
to Mojo Users Group
> Fyi. Mojolicious has a job queue too.
>
> https://github.com/mojolicious/minion
>
> --
> sebastian


This is what I had in mind when wrote "Pg".

Thanks ;-)

Alberto Mijares

unread,
Feb 17, 2020, 5:29:27 AM2/17/20
to Mojo Users Group
On Fri, Feb 14, 2020 at 11:03 AM Dan Book <gri...@gmail.com> wrote:
>
> For distribution outside of CPAN, a cpanfile can specify "features" that can be requested when installing dependencies like: cpanm --installdeps --with-feature=foo .
>
> https://metacpan.org/pod/cpanfile#feature
>
> For CPAN distributions, you can use optional features as well, but most people will ignore it because cpanm defaults to non-interactive. I would recommend providing additional distributions as plugins which provide the dependencies needed for their task.
>
> -Dan


Thank you, Dan. Your suggestions made me see another approach for the design.

Regards,


Alberto Mijares
Reply all
Reply to author
Forward
0 new messages