centrifugo-realtime

Publish Django model changes to Centrifugo channels via Celery tasks.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/arsen-ask-lx/.claude_file_4all --skill centrifugo-realtime
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: centrifugo-realtime
Source: https://github.com/arsen-ask-lx/.claude_file_4all/tree/main/skills/centrifugo-realtime
Command: npx skills add https://github.com/arsen-ask-lx/.claude_file_4all --skill centrifugo-realtime

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Real-time communication between a Django backend and frontend clients is often challenging due to the need for live updates, reliable delivery, and secure channels. This skill provides a Centrifugo-based pipeline to publish events (e.g., notifications, signals, and project changes) to connected clients with minimal latency and without polling.

Core Features & Use Cases

  • Real-time event publishing through Centrifugo on model changes after transaction commit via Celery tasks.
  • Channel-based streaming: companies:global, notifications:user#{id}, and project:{id} for targeted updates.
  • JWT-authenticated subscriptions ensuring secure access to relevant channels and safe frontend integration.

Quick Start

Set up Centrifugo, connect Django signals to Celery tasks, and verify real-time updates on the frontend.

Frequently Asked Questions about centrifugo-realtime

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send realtime updates from Django to frontend clients without polling?

To send realtime updates from Django to frontend clients without polling, this Skill uses a Centrifugo pipeline that coordinates Django signals, transaction.on_commit, and Celery tasks to publish events via WebSocket channels.

What is the best way to trigger realtime notifications on Django model save?

Triggering realtime notifications on Django model save is best handled by connecting post_save signals to Celery tasks, which then publish events to Centrifugo channels only after the database transaction commits.

Can I use Celery and transaction.on_commit to publish Django events to Centrifugo?

Yes, you can use Celery and transaction.on_commit to publish Django events to Centrifugo, ensuring realtime updates are only dispatched after the database transaction successfully commits to avoid sending stale data.

How does JWT authentication work for securing Centrifugo channel subscriptions?

JWT authentication secures Centrifugo channel subscriptions by verifying frontend client tokens, ensuring users only receive realtime updates on channels they are authorized to access, such as user-specific notifications.

What channel structures does Centrifugo use for targeted realtime updates?

Centrifugo uses channel-based streaming for targeted realtime updates, supporting channel structures like companies:global, notifications:user#{id}, and project:{id} to route events to the correct connected frontend clients.

Why does my realtime Django notification fail to publish before the transaction commits?

Your realtime Django notification fails to publish before the transaction commits because the pipeline explicitly wraps event dispatch in transaction.on_commit, preventing race conditions where clients receive updates for data not yet saved.