0
7
Login
Code
Issues
Pull requests
Events
Packages
6519b2940c0b758cf9a85fe66a0409f7ea266695
6519b2940c0b758cf9a85fe66a0409f7ea266695

Command Signals

Latest Test Latest Stable Version Total Downloads License

The signals component for Hyperf Command.

Requirements

  • PHP >= 8.0
  • Hyperf >= 3.0

Installation

composer require friendsofhyperf/command-signals

Usage

namespace App\Command;

use FriendsOfHyperf\CommandSignals\Traits\InteractsWithSignals;
use Hyperf\Command\Annotation\Command;
use Hyperf\Command\Command as HyperfCommand;
use Psr\Container\ContainerInterface;

#[Command]
class FooCommand extends HyperfCommand
{
    use InteractsWithSignals;

    public function __construct(protected ContainerInterface $container)
    {
        parent::__construct('foo');
    }

    public function configure()
    {
        parent::configure();
        $this->setDescription('Hyperf Demo Command');
    }

    public function handle()
    {
        $this->trap([SIGINT, SIGTERM], function ($signo) {
            $this->warn(sprintf('Received signal %d, exiting...', $signo));
        });

        sleep(10);

        $this->info('Bye!');
    }
}

Run

  • Ctrl + C
$ hyperf foo
^CReceived signal 2, exiting...
  • killall php
$ hyperf foo
Received signal 15, exiting...
[1]    51936 terminated  php bin/hyperf.php foo

Donate

If you like them, Buy me a cup of coffee.

AlipayWeChat

Contact

License

MIT