All Projects → georgeyk → Loafer

georgeyk / Loafer

Licence: mit
Asynchronous message dispatcher - Currently using asyncio and amazon SQS

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Loafer

Lambdaguard
AWS Serverless Security
Stars: ✭ 300 (+188.46%)
Mutual labels:  sns, sqs
Brighter
Command Dispatcher, Processor, and Distributed Task Queue
Stars: ✭ 1,393 (+1239.42%)
Mutual labels:  sns, sqs
Sanic Ms
基于sanic的微服务基础架构
Stars: ✭ 336 (+223.08%)
Mutual labels:  microservice, asyncio
sensu-plugins-aws
This plugin provides native AWS instrumentation for monitoring and metrics collection, including: health and metrics for various AWS services, such as EC2, RDS, ELB, and more, as well as handlers for EC2, SES, and SNS.
Stars: ✭ 79 (-24.04%)
Mutual labels:  sqs, sns
Fennel
A task queue library for Python and Redis
Stars: ✭ 24 (-76.92%)
Mutual labels:  asyncio, queue
linda
Linda is a simple dispatcher library.
Stars: ✭ 12 (-88.46%)
Mutual labels:  queue, dispatcher
Janus
Thread-safe asyncio-aware queue for Python
Stars: ✭ 475 (+356.73%)
Mutual labels:  asyncio, queue
think-async
🌿 Exploring cooperative concurrency primitives in Python
Stars: ✭ 178 (+71.15%)
Mutual labels:  queue, asyncio
Arq
Fast job queuing and RPC in python with asyncio and redis.
Stars: ✭ 695 (+568.27%)
Mutual labels:  asyncio, queue
Taskq
Golang asynchronous task/job queue with Redis, SQS, IronMQ, and in-memory backends
Stars: ✭ 555 (+433.65%)
Mutual labels:  sqs, queue
go-aws-msg
AWS Pub/Sub Primitives for Go
Stars: ✭ 22 (-78.85%)
Mutual labels:  sqs, sns
Serverless
This is intended to be a repo containing all of the official AWS Serverless architecture patterns built with CDK for developers to use. All patterns come in Typescript and Python with the exported CloudFormation also included.
Stars: ✭ 1,048 (+907.69%)
Mutual labels:  sns, sqs
terraform-aws-lambda
A Terraform module to create AWS Lambda ressources.
Stars: ✭ 40 (-61.54%)
Mutual labels:  sqs, sns
event-driven-messenger
No description or website provided.
Stars: ✭ 43 (-58.65%)
Mutual labels:  sqs, sns
QueueBundle
QueueBundle for Symfony Framework
Stars: ✭ 40 (-61.54%)
Mutual labels:  queue, sqs
Gizmo
A Microservice Toolkit from The New York Times
Stars: ✭ 3,566 (+3328.85%)
Mutual labels:  sns, sqs
sns-sqs-big-payload
Amazon SNS/SQS client library that enables sending and receiving messages with payload larger than 256KiB via Amazon S3.
Stars: ✭ 40 (-61.54%)
Mutual labels:  sqs, sns
rearq
A distributed task queue built with asyncio and redis, with built-in web interface
Stars: ✭ 81 (-22.12%)
Mutual labels:  queue, asyncio
Dazn Lambda Powertools
Powertools (logger, HTTP client, AWS clients, middlewares, patterns) for Lambda functions.
Stars: ✭ 501 (+381.73%)
Mutual labels:  sns, sqs
Yii Queue
Queue extension for Yii 3.0
Stars: ✭ 38 (-63.46%)
Mutual labels:  sqs, queue

Loafer

|PyPI latest| |PyPI Version| |PyPI License| |Docs|

|CI Build Status| |Coverage Status| |Requirements Status| |Scrutinizer Code Quality| |Code Climate|


Loafer is an asynchronous message dispatcher for concurrent tasks processing.

Currently, only AWS SQS is supported

Features:

  • Encourages decoupling from message providers and consumers
  • Easy to extend and customize
  • Easy error handling, including integration with sentry
  • Easy to create one or multiple services
  • Generic Handlers
  • Amazon SQS integration

It requires Python 3.6+ and is very experimental at the moment, expect a lot of changes until the first major version.

Example


A simple message forwader, from ``source-queue`` to ``destination-queue``:

.. code:: python

    from loafer.ext.aws.handlers import SQSHandler
    from loafer.ext.aws.routes import SQSRoute
    from loafer.managers import LoaferManager


    routes = [
        SQSRoute('source-queue', handler=SQSHandler('destination-queue')),
    ]


    if __name__ == '__main__':
        manager = LoaferManager(routes)
        manager.run()


Documentation

Check out the latest Loafer full documentation at Read the Docs_ website.

.. _Read the Docs: http://loafer.readthedocs.org/

.. |Docs| image:: https://readthedocs.org/projects/loafer/badge/?version=latest :target: http://loafer.readthedocs.org/en/latest/?badge=latest .. |CI Build Status| image:: https://circleci.com/gh/georgeyk/loafer.svg?style=svg :target: https://circleci.com/gh/georgeyk/loafer .. |Coverage Status| image:: https://codecov.io/gh/georgeyk/loafer/branch/master/graph/badge.svg :target: https://codecov.io/gh/georgeyk/loafer .. |Requirements Status| image:: https://requires.io/github/georgeyk/loafer/requirements.svg?branch=master :target: https://requires.io/github/georgeyk/loafer/requirements/?branch=master .. |Scrutinizer Code Quality| image:: https://scrutinizer-ci.com/g/georgeyk/loafer/badges/quality-score.png?b=master :target: https://scrutinizer-ci.com/g/georgeyk/loafer/?branch=master .. |Code Climate| image:: https://codeclimate.com/github/georgeyk/loafer/badges/gpa.svg :target: https://codeclimate.com/github/georgeyk/loafer .. |PyPI Version| image:: https://img.shields.io/pypi/pyversions/loafer.svg?maxAge=2592000 :target: https://pypi.python.org/pypi/loafer .. |PyPI License| image:: https://img.shields.io/pypi/l/loafer.svg?maxAge=2592000 :target: https://pypi.python.org/pypi/loafer .. |PyPI latest| image:: https://img.shields.io/pypi/v/loafer.svg?maxAge=2592000 :target: https://pypi.python.org/pypi/loafer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].