PHPackages                             arthurhoaro/simple-php-messaging-service - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. arthurhoaro/simple-php-messaging-service

ActiveLibrary[Queues &amp; Workers](/categories/queues)

arthurhoaro/simple-php-messaging-service
========================================

SimplePMS is a PHP message service with database backend using SQLite, PostgreSQL or MySQL

52.1k2PHP

Since May 8Pushed 10y ago1 watchersCompare

[ Source](https://github.com/ArthurHoaro/simple-php-messaging-service)[ Packagist](https://packagist.org/packages/arthurhoaro/simple-php-messaging-service)[ RSS](/packages/arthurhoaro-simple-php-messaging-service/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Simple PHP Messaging Service
============================

[](#simple-php-messaging-service)

[![Build Status](https://camo.githubusercontent.com/830b156bc13c85a6f654da0ecffeef06b10c135137ce88e9bfeb00dbf3ce8d7b/68747470733a2f2f7472617669732d63692e6f72672f417274687572486f61726f2f73696d706c652d7068702d6d6573736167696e672d736572766963652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ArthurHoaro/simple-php-messaging-service)[![Coverage Status](https://camo.githubusercontent.com/960ae908d239216b9f724b7fa4465a388e7800857166097ae23a3933b8d5ffd0/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f417274687572486f61726f2f73696d706c652d7068702d6d6573736167696e672d736572766963652f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/ArthurHoaro/simple-php-messaging-service?branch=master)

SimplePMS is a very simple messaging service component with a database backend.

It allows applications to communicate without a heavy traditional client-server architecture. It is a way to manage asynchronous, potentially long-running PHP tasks such as API requests, database export/import operations, email sending, payment notification handlers, feed generation etc.

This project is based on [php-queue-manager](https://github.com/fordnox/php-queue-manager), except I wanted my messages to be only messages. Therefore, messages are not tasks in SimplePMS and are not expected to carry business code.

SimplePMS can be integrated to any PHP based application with minimum effort, because it does not depend on any framework. PDO extension is the only requirement.

If you need a more feature-full messaging service - e.g. multiple workers consuming the same queue - consider using a robust messaging service/queue manager such as JMS, ActiveMQ, RabbitMQ, IronMQ, etc. ; even though it requires a more complex setup.

Requirements
============

[](#requirements)

- PHP &gt;5.5
- PDO
- Database backend (sqlite, PostgreSQL, MySQL)

Features
========

[](#features)

- Asynchronous messaging service through database.
- Send any type of data.
- Multiple queues.
- A timeout system to handle stuck messages.
- All actions are log in the DB.

Install with Composer
=====================

[](#install-with-composer)

- Install dependency

```
{
    "require": {
        "arthurhoaro/simple-php-messaging-service": "dev-master"
    }
}
```

- Create your database structure using one of the schema available in `extra/`.

Usage example
=============

[](#usage-example)

```
// Your software send a message to a worker
$message = new Anything('param');
$pms = new SimplePMS();
$pms->setPdo($pdoInstance);
$pms->send($message, 'my_queue');

// The worker reads the queue
$message = $pms->reveive('my_queue');
try {
    $message->doAnything();
    $pms->deleteMessage($message);
} catch (\Exception $e) {
    $pms->log('Can not do anything. '. $e->getMessage());
}
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/4c10a2db899f8a62f26beb418c0ea969ae714921b8e39bef7145f046cacd18f9?d=identicon)[ArthurHoaro](/maintainers/ArthurHoaro)

---

Top Contributors

[![ArthurHoaro](https://avatars.githubusercontent.com/u/1962678?v=4)](https://github.com/ArthurHoaro "ArthurHoaro (7 commits)")

### Embed Badge

![Health badge](/badges/arthurhoaro-simple-php-messaging-service/health.svg)

```
[![Health](https://phpackages.com/badges/arthurhoaro-simple-php-messaging-service/health.svg)](https://phpackages.com/packages/arthurhoaro-simple-php-messaging-service)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[amphp/parser

A generator parser to make streaming parsers simple.

14952.8M16](/packages/amphp-parser)[amphp/serialization

Serialization tools for IPC and data storage in PHP.

13451.1M18](/packages/amphp-serialization)[enqueue/enqueue

Message Queue Library

19820.0M56](/packages/enqueue-enqueue)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2238.8M170](/packages/react-async)

PHPackages © 2026

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