Skip to main content

A connector development framework adapted to Django

Project description

Overview

Django Aeotrade Connector is a framework that allows you to easily create your connector with Aeotrade OS.

Quickstart

Install

pip install django-aeotrade-connector

After installing the package, you can add aeotrade_connector to INSTALLED_APPS

Usage

Initialize connector in django project

python manage.py initconnector

This will create urls.py and dispatcher.py to your project

Create connector

python manage.py startconnector <my_connector>

After executing this command, you can add my_connector to INSTALLED_APPS. Then you can see a new django app named my_connector in your project. In this app, you can see services.py and task.py files. In services.py, you must implement some connector methods, which are inherited from ConnectorServices. and in task.py, you can define your connector tasks. those tasks will be registered when django setup.

Configuration

In app.py:

Before you start to run your connector, you must configure your connector in the app.py file. The configuration file is located in the my_connector/app.py file.

class MyConnectorConfig(AppConfig):
    name = 'my_connector'

    class Config:
        # required config
        connector = True
        connector_config_model = ConnectorBaseConfig(
            # required config
            label="my_first_connector",
            code="my_first_connector_code",
            mq_recv_model=MQManagerConfig(
                url="amqp://root:123456@localhost:5672/",
                exchange="test",
                queue="q_receive",
                pot=POT.Thread
            ),
            # optional config
            event_up_chain = True,
            files_up_chain = False,
            callback = some_function_name,
            callback_args = ['arg1', 'arg2'],
            callback_kwargs = {'key1': 'value1', 'key2': 'value2'},
            task_stop_when_error = False,
            auto_heartbeat = True,
            kw = {"extra_key": "extra_value"},
        )

In django.settings.py:

INSTALLED_APPS = [
    ...,
    'aeotrade_connector'
    'my_connector',
]

AC_MANAGEMENT_ENDPOINT = 'https://www.example.com:8000'

IS_TEST = False  # or True

# Redis Cache
CACHES = {
    'default': {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": 'redis://localhost:6379/0',
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}
        }
    }
}

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

django_aeotrade_connector-0.1.1.tar.gz (74.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_aeotrade_connector-0.1.1-py3-none-any.whl (56.0 kB view details)

Uploaded Python 3

File details

Details for the file django_aeotrade_connector-0.1.1.tar.gz.

File metadata

  • Download URL: django_aeotrade_connector-0.1.1.tar.gz
  • Upload date:
  • Size: 74.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.18 Linux/5.14.0-427.42.1.el9_4.x86_64

File hashes

Hashes for django_aeotrade_connector-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b0ff43f5567708b6366cc949ede873a96de030fc3a06203234b563a181eb0ba6
MD5 7354e6c0c751075b70122aa2e58c4db0
BLAKE2b-256 599f793b5bc9d2d19a76fd9d2e47f177f961762c79cc10ff9af280b2e1301f81

See more details on using hashes here.

File details

Details for the file django_aeotrade_connector-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_aeotrade_connector-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a866285ef93105469d31963ef62a6b09e50c6ba6db203d308abd6e89ea146633
MD5 0e36bd32c3a6486701eb1816cac3c960
BLAKE2b-256 f2903ca40c271f0f75e0c97946a076a84d0b56614ccb518bdb1969bed3267528

See more details on using hashes here.

Supported by

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