PHPackages                             modelslab/modelq - 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. [Caching](/categories/caching)
4. /
5. modelslab/modelq

ActiveLibrary[Caching](/categories/caching)

modelslab/modelq
================

A lightweight PHP task queue library, alternative to traditional queue systems, optimized for ML inference workloads

0.4(4mo ago)00MITPHPPHP ^8.1

Since Dec 22Pushed 4mo agoCompare

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

READMEChangelog (4)Dependencies (4)Versions (5)Used By (0)

ModelQ PHP
==========

[](#modelq-php)

A lightweight PHP task queue library, alternative to traditional queue systems, optimized for ML inference workloads.

[![PHP Version](https://camo.githubusercontent.com/04744bae0a61d2ffe29c26f07a9612eae20445fc6feaeb77b3af1f0e9be6447c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e312d3838393242462e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

Features
--------

[](#features)

- **Simple API** - Easy to use task registration and enqueueing
- **Redis-backed** - Fast and reliable task storage using Redis
- **Streaming Support** - Real-time streaming results for long-running tasks
- **Remote Workers** - Connect PHP frontend to Python GPU workers via Redis
- **Middleware Hooks** - Lifecycle hooks for monitoring and customization
- **Delayed Tasks** - Schedule tasks to run after a delay
- **CLI Tools** - Built-in commands for queue management
- **ML Optimized** - Designed for machine learning inference workloads

Use Case: PHP Frontend + Python GPU Worker
------------------------------------------

[](#use-case-php-frontend--python-gpu-worker)

ModelQ PHP is designed to work seamlessly with Python ModelQ workers running on GPU servers. This enables you to:

- Run your PHP web application on standard servers
- Offload ML inference tasks to dedicated GPU servers running Python
- Share a managed Redis instance (AWS ElastiCache, GCP Memorystore, etc.)

```
┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│   PHP Frontend  │─────▶│  Managed Redis  │◀─────│ Python Worker   │
│   (Web Server)  │      │  (AWS/GCP/etc)  │      │ (GPU Server)    │
└─────────────────┘      └─────────────────┘      └─────────────────┘
        │                                                  │
   Enqueue tasks                                    Process tasks
   Get results                                      (ML inference)

```

### Python Worker (GPU Server)

[](#python-worker-gpu-server)

```
from modelq import ModelQ

app = ModelQ(
    redis_host="your-redis.cache.amazonaws.com",
    redis_port=6379,
    redis_password="your-password"
)

@app.task("generate_image")
def generate_image(data):
    prompt = data.get("prompt")
    # Use GPU for image generation...
    return {"image_url": "https://cdn.example.com/generated.jpg"}

@app.task("llm_completion", stream=True)
def llm_completion(data):
    for token in generate_tokens(data["prompt"]):
        yield token

app.run_workers(num_workers=4)
```

### PHP Frontend (Web Server)

[](#php-frontend-web-server)

```
