cleverage/enqueue-process-bundle

Allow the process bundle to work with Enqueue

v1.0.8 2021-03-08 10:31 UTC

This package is auto-updated.

Last update: 2024-04-08 16:41:51 UTC


README

This bundle allows you to connect tasks from the process bundle to some consumers that launch processes. This allows to multi-thread/parallelize processes.

Important notice

Use events to notify consumers that something has happened and use commands when you want to wait for the result of an action.

You need to statically map topics and commands to consumers in this bundle configuration else it will simply not work without any notice.

Quick example

clever_age_process:
    configurations:
        # This process will dispatch events to the queue in a specific topic
        import.csv:
            tasks:
                # ...
                # Series of tasks that output an scalar or an array of scalar
                push_event:
                    service: '@CleverAge\EnqueueProcessBundle\Task\PushEventTask'
                    options:
                        topic: import_denormalize
        
        # This process will receive the output of the previous process through the queue
        import.denormalize:
            tasks:
                # This is just an example
                denormalize:
                    service: '@CleverAge\ProcessBundle\Task\Serialization\DenormalizerTask'
                    options:
                        class: Foo\Bar
                    outputs: [...] # Do stuff

clever_age_process_enqueue:
    topics:
        import_denormalize: # Map a topic to a process
            process: import.denormalize