PHPackages                             meriksk/message-queue - 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. meriksk/message-queue

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

meriksk/message-queue
=====================

Simple DB driven message queue library.

040PHP

Since Oct 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/meriksk/message-queue)[ Packagist](https://packagist.org/packages/meriksk/message-queue)[ RSS](/packages/meriksk-message-queue/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

MessageQueue PHP
================

[](#messagequeue-php)

A fast, simple DB driven message queuing library for PHP/MySQL.

Install
-------

[](#install)

Via Composer

```
$ composer require meriksk/message-queue
```

How to install
--------------

[](#how-to-install)

- Message-queue depends on the great Swift Mailer, which is included using composer (). All packages will be installed by composer.
- Create a database in your server with your desired name. e.g: message\_queue.
- Run the provided SQL code found on install/schema.sql on that database to create the initial database structure.
- Setup two cronjobs in your linux to execute regularly the delivery and purge scripts. ([Cron-job setup](#cron-job))

Usage
-----

[](#usage)

Example 1:

```
$queue = new \meriksk\MessageQueue\Queue();
$message = new Message(Queue::EMAIL, 'recipient1@email.com', 'Subject', 'message body');
$queue->add($message);
```

Example2:

```
use meriksk\MessageQueue\Queue;
$queue = new Queue();
$message = new Message(Queue::EMAIL, 'recipient1@email.com', 'Subject', 'message body');
$message->save();
```

Example 3:

```
use meriksk\MessageQueue\Queue;
$message = Queue::message(Queue::EMAIL);
$message->body = 'Message body';
$message->subject = 'Subject';
$message->addDestination('recipient1@email.com');
$message->addDestination('recipient2@email.com');

// attachment
$message->addAttachment($filePath2, 'custom_name', 'application/pdf');

// save
$message->save();
```

Cron job
--------

[](#cron-job)

The delivery script delivers pending emails in the queue. Running it every minute is recommended. Be sure the shell scripts are executable.

`$ crontab -e`

Add the following lines: `* * * * * /var/www/htdocs/your_app/scripts/deliver``0 6 * * * /var/www/htdocs/your_app/scripts/purge`

```
Queue::antiflood(1, 3)
Queue::deliver(['max_attemps' => 3]);
```

Testing
-------

[](#testing)

```
$ composer test
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

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/6b5197e22c3e1305d111d223382741c731eb9e0840cb1729ceb1249a43f49558?d=identicon)[meriksk](/maintainers/meriksk)

### Embed Badge

![Health badge](/badges/meriksk-message-queue/health.svg)

```
[![Health](https://phpackages.com/badges/meriksk-message-queue/health.svg)](https://phpackages.com/packages/meriksk-message-queue)
```

###  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.8M171](/packages/react-async)

PHPackages © 2026

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