Skip to main content

pyzrpc

Project description

PyZrpc Description Document

PyZrpc: zero config rpc framework

  1. introduction

    1. PyZrpc is a distributed task framework with extremely simple configuration. Enable users to quickly build distributed task systems with minimal configuration and learning costs

    2. The framework has functions such as service management, work management, and task management, which can meet most usage scenarios

  2. test code

    Python Code:

    from pyzrpc import ServiceConstructor, WorkConstructor
    
    
    class RpcFunction(ServiceConstructor):
        """
        Class Name Not modifiable, Define RPC functions
        """
        service_name = 'test'
    
        def get_service_name(self):
            return {"service_name": self.service_name}
    
    
    class WorkFunction(WorkConstructor):
        """
        Class Name Not modifiable, Work Code
        """
    
        work_name = 'test'
    
        def run(self, data):
            self.logger.info(data)
  3. start using

    Python Code:

    from PyZrpc import PyZrpc
    from services import test
    
    current_dir = os.path.dirname(os.path.abspath(__file__))
    
    config = {
        "RABBITMQ_CONFIG": "amqp://admin:passwd@127.0.0.1:5672",
        "MONGODB_CONFIG": "mongodb://admin:passwd@127.0.0.1:27017",
        'ROOT_PATH': current_dir
    }
    zrpc = PyZrpc(config=config)
    zrpc.service_registry(services=[test])
    zrpc.service_start()
  4. testing

    Python Code:

    import os
    from PyZrpc import PyZrpc
    
    current_dir = os.path.dirname(os.path.abspath(__file__))
    
    config = {
        "RABBITMQ_CONFIG": "amqp://admin:Rabbit*ads12@127.0.0.1:5672",
        "MONGODB_CONFIG": "mongodb://admin:123456@127.0.0.1:27017",
        'ROOT_PATH': current_dir
    }
    zrpc = PyZrpc(config=config)
    
    zrpc.remote_call('zerorpc_test', 'get_service_name')
    
    zrpc.send_message(queue='test', message={'task_id': 01, 'data': 'hello PyZrpc'})

A distributed task scheduling system was completed in just a few steps

Disclaimers

  • Before using the PyZrpc framework, please carefully read and fully understand this statement. You can choose not to use the PyZrpc framework, but once you use the PyZrpc framework, Your usage behavior is deemed to be recognition and acceptance of the entire content of this statement.

  • You promise to use the PyZrpc framework in a legal and reasonable manner, Do not use the PyZrpc board framework to engage in any illegal or malicious behavior that infringes on the legitimate interests of others, We will not apply the PyZrpc framework to any platform that violates Chinese laws and regulations.

  • Any accident, negligence, contract damage, defamation This project does not assume any legal responsibility for copyright or intellectual property infringement and any losses caused (including but not limited to direct, indirect, incidental or derivative losses).

  • The user clearly and agrees to all the contents listed in the terms of this statement, The potential risks and related consequences of using the PyZrpc framework will be entirely borne by the user, and this project will not bear any legal responsibility.

  • After reading this disclaimer, any unit or individual should obtain the MIT Open Source License Conduct legitimate publishing, dissemination, and use of the PyZrpc framework within the permitted scope, If the breach of this disclaimer clause or the violation of laws and regulations results in legal liability (including but not limited to civil compensation and criminal liability), the defaulter shall bear the responsibility on their own.

  • The author owns intellectual property rights (including but not limited to trademark rights, patents, Copyrights, trade secrets, etc.) of PyZrpc framework, and the above products are protected by relevant laws and regulations

  • No entity or individual shall apply for intellectual property rights related to the PyZrpc Framework itself without the written authorization of the Author.

  • If any part of this statement is deemed invalid or unenforceable, the remaining parts shall remain in full force and effect. An unenforceable partial declaration does not constitute a waiver of our right to enforce the declaration.

  • This project has the right to make unilateral changes to the terms and attachments of this statement at any time, and publish them through message push, webpage announcement, and other means. Once published, it will automatically take effect without the need for separate notice; If you continue to use this statement after the announcement of changes, it means that you have fully read, understood, and accepted the revised statement.

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

pyzrpc-2.3.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

pyzrpc-2.3-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file pyzrpc-2.3.tar.gz.

File metadata

  • Download URL: pyzrpc-2.3.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for pyzrpc-2.3.tar.gz
Algorithm Hash digest
SHA256 d8796ac436b88447d002f7753799c6c1cd69181bf70f0b4cf3346d42fcea27a4
MD5 bdee9151900906e4ecbcf4d3b6271246
BLAKE2b-256 a45b3c2b3267e4e18724b7290108edcb0110cf0952da3df823cf5424bc131285

See more details on using hashes here.

File details

Details for the file pyzrpc-2.3-py3-none-any.whl.

File metadata

  • Download URL: pyzrpc-2.3-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for pyzrpc-2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 77ae31f0022d6fbb30e981ecfe70a691acfedbd6d17917944da2075edc922307
MD5 af3937a4747d2ea8b37a29cab9879c0e
BLAKE2b-256 23f41ae2a9f4f12c70955d1a12a364f09796b86dda74688b684ba5095ac7bb19

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