Skip to main content

Microservice with django

Project description

Installing star-lord

The package can be installed using:

.. code-block:: bash

pip install star-lord

Add the following settings:

.. code-block:: python

INSTALLED_APPS += (
    'star_lord',
)

Creating models

Mark model as producer using "producer" decorator:

.. code-block:: python

from django.db import models
from star_lord import producer


@producer
class MyModel(models.Model):
    ...

    @classmethod
    def get_name(cls):
        return 'my_model'

    @property
    def serialized_data(self):
        """
        Optional method which can be overridden
        """
        pass

    @staticmethod
    def signal_post_save(*args, **kwargs):
        """
        Optional method which can be overridden
        """
        pass

Creating tasks

Create file tasks.py in your app: my_app: tasks.py

.. code-block:: python

from star_lord import model_sync, job_tasks
from .models import User, Employee

job_tasks('auth.usr.changed', model=User)(model_sync)
job_tasks('hrm.emp.changed')(Employee.sync)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

star-lord-0.0.47.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

star_lord-0.0.47-py3-none-any.whl (10.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page