Metastatic.Semantic.Domains.Queue (Metastatic v0.10.4)

View Source

Message queue operation patterns for semantic enrichment.

This module defines patterns for detecting message queue operations across multiple languages and queue libraries. Patterns are registered with the Metastatic.Semantic.Patterns registry at module load time.

Supported Libraries

Elixir

  • Broadway - Data processing pipelines
  • GenStage - Producer-consumer pipelines
  • Oban - Background job processing
  • Exq - Redis-backed job processing

Python

  • Celery - Distributed task queue
  • RQ (Redis Queue) - Simple job queue
  • Dramatiq - Background task processing
  • Kombu - Messaging library for Python

Ruby

  • Sidekiq - Background job processing
  • Resque - Redis-backed job processing
  • Delayed::Job - Database-backed background jobs
  • ActiveJob - Rails job framework

JavaScript

  • Bull/BullMQ - Redis-based queue
  • Agenda - Job scheduling
  • Bee-Queue - Redis job queue
  • amqplib - RabbitMQ client

Queue Operations

OperationDescription
:publishPublish/send message to queue
:consumeConsume/receive message from queue
:subscribeSubscribe to queue/topic
:acknowledgeAcknowledge message processing
:rejectReject/nack message
:enqueueAdd job to queue
:dequeueRemove job from queue
:scheduleSchedule delayed job
:retryRetry failed job
:processProcess job/message

Pattern Structure

Each pattern is a tuple of {pattern, spec} where:

  • pattern - String or Regex to match function names
  • spec - Map with operation details:
    • :operation - The queue operation type
    • :framework - The queue library identifier
    • :extract_target - Strategy for extracting queue/topic name

Summary

Functions

Registers all queue patterns for all languages.

Functions

register_all()

@spec register_all() :: :ok

Registers all queue patterns for all languages.

Called automatically when the module is loaded. Can also be called manually to re-register patterns (e.g., after clearing).