PHPackages                             derywat/php-processes-watchdog - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. derywat/php-processes-watchdog

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

derywat/php-processes-watchdog
==============================

Process manager and watchdog for derywat/php-processes.

0.1.0(5mo ago)021MITPHP

Since Dec 11Pushed 5mo agoCompare

[ Source](https://github.com/derywat/php-processes-watchdog)[ Packagist](https://packagist.org/packages/derywat/php-processes-watchdog)[ RSS](/packages/derywat-php-processes-watchdog/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Process manager and watchdog for derywat/php-processes.
=======================================================

[](#process-manager-and-watchdog-for-derywatphp-processes)

Provides methods for managing processes collection.

Starting processes
------------------

[](#starting-processes)

Process starts by calling addProcess method on watchdog instance (singleton).
Multiple processes can be started anytime instance exists. Process will be restarted automatically if in case of exit without using removeProcess method.

```
use derywat\processesWatchdog\ProcessesWatchdog;

$processes = ProcessesWatchdog::getInstance();

$restartWaitSeconds = 30;

$processes->addProcess(
	'uniqueProcessNameOrId',
	function($socket){
	//child process code
	},
	$restartWaitSeconds
);
```

Handling interprocess messaging
-------------------------------

[](#handling-interprocess-messaging)

By default process end messages are filtered out in processMessages methods result. To include process end messages call processMessages() with parameter equal true.

```
use derywat\processesWatchdog\ProcessesWatchdog;

$processes = ProcessesWatchdog::getInstance();

$messages = $processes->processMessages();
if(!empty($messages)){
	//handle messages here
}
```

Ending processes
----------------

[](#ending-processes)

Process is scheduled for ending and termination signal is send to process by calling removeProcess method. Process finished message is sent on process end.

```
use derywat\processesWatchdog\ProcessesWatchdog;

$processes = ProcessesWatchdog::getInstance();

$processes->removeProcess('uniqueProcessNameOrId');
```

Ending all managed processes and waiting for finish
---------------------------------------------------

[](#ending-all-managed-processes-and-waiting-for-finish)

```
use derywat\processesWatchdog\ProcessesWatchdog;

$processes = ProcessesWatchdog::getInstance();

$processes->removeAllProcesses();
while(!$processes->allProcessesEnded()){
	$processes->processAndHandleMessages($messagesHandler);
	usleep(100000);
}
```

Watchdog events
---------------

[](#watchdog-events)

Watchdog sends events on start, stop, scheduled restart and restart of process. Event object is of class ProcessesWatchdogEvent.

```
use derywat\processesWatchdog\ProcessesWatchdog;

$processes = ProcessesWatchdog::getInstance();

$processes->registerEventReceiver((new EventsReceiver())->addEventHandlerClosure(
	function(ProcessesWatchdogEvent $event) use ($logger) {
		$message = $event->getMessage();
		$actionId = $event->getAction();
		$actionName = $event->getgetActionName();
		//watchdog event handling code
	}
));
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance72

Regular maintenance activity

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

158d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fc9a4843bfd807b6a86c2518447cfceb6d3d883dd68424cc66aec8552d4a52fa?d=identicon)[derywat](/maintainers/derywat)

---

Top Contributors

[![derywat](https://avatars.githubusercontent.com/u/46571114?v=4)](https://github.com/derywat "derywat (1 commits)")

### Embed Badge

![Health badge](/badges/derywat-php-processes-watchdog/health.svg)

```
[![Health](https://phpackages.com/badges/derywat-php-processes-watchdog/health.svg)](https://phpackages.com/packages/derywat-php-processes-watchdog)
```

###  Alternatives

[systemcode/brazilcustomerattributes

Magento 2 module to adapt customer and address fields to brazil.

6014.0k](/packages/systemcode-brazilcustomerattributes)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
