Skip to main content

Library for inter-service event-based communication

Project description

Inter-service event communication

This library handles inter (micro)services communication in a decoupled way using the event/observer pattern.

The code raises an event when something happens and that event fires notifications to the registered listeners.

THIS IS A PYTHON 2.7 COMPATIBLE PACKAGE, FOR PYTHON 3 USE https://pypi.org/project/event-isc/

Implemented notifications are:

  1. Celery task
  2. HTTP request

YAML file configuration

Can be configured with a yaml file like this, passed as initialization argument or in environment variable EVENTISC_CONFIG

name_prefix: myapp.
listeners:
- kind: http
  event_name: myapp.user_created
  url: http://notification-service.mycompany.com/send-welcome/
  requests_kwargs:
    auth: ["myuser", "password"]
  request_format: json
  data:
    user_id: "{event_data['user'].id}"
    email: "{event_data['user'].email}"
- kind: celery
  event_name_regex: myapp[.].*_created
  queue: foo_service
  task_name: foo_handle_created
  task_kwargs:
    event_name: {event_name}
    event_data: {event_data}

Usage

import eventisc

...
eventisc.trigger("user_created", {"user": user})  # Should fire both listeners

eventisc.trigger("foo_created", {"foo": "bar"})  # Should fire only celery

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

event-isc-py2-0.1.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

event_isc_py2-0.1.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file event-isc-py2-0.1.0.tar.gz.

File metadata

  • Download URL: event-isc-py2-0.1.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.26.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for event-isc-py2-0.1.0.tar.gz
Algorithm Hash digest
SHA256 624d712d35cf077129efdf31bc84e0fe5e295dc156fb08b4b06f46bcdd435e66
MD5 86cc135832ff34ee20bbf5815fb37fc1
BLAKE2b-256 9826a3500b4a7db9633a22e7c356737809b12cc3c76d1503f89dcb1c42d93bc8

See more details on using hashes here.

File details

Details for the file event_isc_py2-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: event_isc_py2-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.26.0 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for event_isc_py2-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e6c3415020f2a6dc21f59ee352329e6f583943edb2cc4dfb0e322cfb83c95565
MD5 5cc4e806f1bcb3fee0d0cad8f93d8527
BLAKE2b-256 07291a8a327ea0d0fd4ff7d3239e4feb44b34418a239f606c92c94cbf5408f20

See more details on using hashes here.

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