myaero/aero-worker

There is no license information available for the latest version (v1.0.1) of this package.

Custom PHP Gearman worker package

Maintainers

Package info

github.com/myaero/aeroWorker

pkg:composer/myaero/aero-worker

Statistics

Installs: 24

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2024-11-20 22:27 UTC

This package is auto-updated.

Last update: 2026-02-21 01:06:46 UTC


README

Make sure you run `sudo apt-get install gearman-job-server php-gearman`

Install via composer `composer require myaero/aero-worker`

Run `vendor/bin/aeroworker` to start processing

OR setup on supervisor `sudo apt install supervisor -y`:

`[program:aeroworker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/vendor/bin/aeroworker
directory=/var/www/html
autostart=true
autorestart=true
user=root
numprocs=4
redirect_stderr=true
stdout_logfile=/var/log/supervisor/aeroworker.log`

Sample worker `aeroworker.conf`:

`namespace App\Queues\Workers;

use aeroWorker\WorkerInterface;
use aeroWorker\WorkerRegistry;

class EmailWorker implements WorkerInterface
{
    public function getName(): string
    {
        return 'email_worker';
    }

    public function register($worker): void
    {
        $worker->addFunction('send_email', [$this, 'handleEmail']);
    }

    private function bootApplication(): void
    {
        require_once '/var/www/html/vendor/autoload.php';
        app()->bootApplication();
    }

    public function handleEmail($job)
    {
        $this->bootApplication();

        $workload = json_decode($job->workload(), true);

        logger('testing logs');
        return json_encode(['test' => 'email logged']);
    }
}`