Awesome Open Source
Awesome Open Source


Beat Server

Build Status PyPI version

Beatserver, a periodic task scheduler for django channels | beta software

How to install


Follow django channels documentation on howto install channels.

Install beatserver:

pip install -U beatserver


Add beatserver to INSTALLED_APPS in


from datetime import timedelta

    'testing-print': [
            # will call test_print method of PrintConsumer
            'type': 'test.print',
            # message to pass to the consumer
            'message': {'testing': 'one'},
            # Every 5 seconds
            'schedule': timedelta(seconds=5)
            'type': 'test.print',
            'message': {'testing': 'two'},
            # Precisely at 3AM on Monday
            'schedule': '0 3 * * 1' 

Schedules can be specified as timedeltas for running tasks on specified intervals, or as cron-syntax strings for running tasks on exact schedules.

application = ProtocolTypeRouter({
    "channel": ChannelNameRouter({
        "testing-print": PrintConsumer,

from channels.consumer import SyncConsumer

class PrintConsumer(SyncConsumer):
    def test_print(self, message):

How to run:

python beatserver

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (50,867
django (973
websocket (437
scheduler (124
task (92
channels (25
django-channels (15

Find Open Source By Browsing 7,000 Topics Across 59 Categories