drutiny / bulk
Handles running Drutiny profiles from a queue.
Installs: 3 419
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 2
Open Issues: 0
Requires (Dev)
- async-aws/sqs: ^1.8@dev
- drutiny/drutiny: ^3.6
- php-amqplib/php-amqplib: ^3.2
- symfony/console: ^5.4|^6.0
Suggests
- aws-sync/sqs: Adds support for AWS SQS queuing.
- drutiny/drutiny: Allows bulk auditing for Drutiny core.
- php-amqplib/php-amqplib: Adds support for AMPQ queue services like RabbitMQ.
This package is auto-updated.
Last update: 2024-12-21 10:25:20 UTC
README
This extension adds bulk drutiny report running functions to Drutiny using a queue/worker architecture based on the AMPQ messaging protocol.
Spin up RabbitMQ with Docker.
A quick way to get an AMPQ service is to spin up RabbitMQ in a docker container. This extensions ships a simple command that will run this for you:
drutiny bulk:run-queue-service
This will run in the foreground and can be killed and exited using Ctrl-C. It is ephemeral so the queue will be lost if you exit the service.
Sending profile:run jobs to the queue.
To send jobs to the queue, use the bulk:queue
command. You can either send
individual jobs to the queue one at a time or send a batch of jobs using a file.
Sending an individual jobs
drutiny bulk:queue my_custom_profile @sitealias.dev -f html -f csv
The above command will send a job to the queue to profile:run
the my_custom_profile
profile against the @sitealias.dev
target and render the results in html and csv formats.
Sending a batch of jobs
drutiny bulk:queue my_custom_profile --target-list=targets.txt -f html
The above command will send a job to the queue for each line in targets.txt
where each line is a target like drush:@sitealias.dev
.
Processing jobs from the queue.
drutiny bulk:work
This process is thread safe and multiple of these commands can be run in parallel. Consider using something like Supervisord