Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

NATS wrapper for fast scanner development

Project description

.. image:: https://travis-ci.com/hardenchant/nats_scan_wrapper.svg?token=oEYn8ZVFWCpj1fwzyy2Q&branch=master :target: https://travis-ci.com/hardenchant/nats_scan_wrapper :alt: Build status for the master branch

.. image:: https://img.shields.io/pypi/v/bordercontrol.svg :target: https://pypi.org/project/bordercontrol/ :alt: Latest version on PyPi


Instruction for develop a new module.

.. code-block:: python

from bc.dev.handlers import WorkerThreadHandler

counter = 0

def worker_function(data):
    global counter
    counter += 1
    print(counter)

    return {"results": [1, 2, 3, 45]}

a = WorkerThreadHandler(worker_function=worker_function, name='name', hostname='hostname')
a.run()

worker_function - required arg

name - optional

hostname - optional

data - here you see all data which send in sheduler in your channel, e.g.:

.. code-block:: json

{
   "_id":"5c4f3c5e1a169100074132ca",
   "pipeline":[
        "tgchecker"
   ],
   "crontab":"* * * * *",
   "payload":{
        "integram_url": "",
        "text": ""
   },
   "active": false,
   "trigger_timestamp": 1548696730,
   "full_pipeline":[
        "tgchecker"
   ]
}

{"results": [1, 2, 3, 45]} - module send to channel _reporter as:

.. code-block:: python

{
    'task_data': data,
    'result': [1, 2, 3, 45],
    'name': 'name',
    'hostname': 'hostname'
}

Module send to channel _registration:

.. code-block:: json

{
    "name": "name",
    "hostname": "hostname"
}

Module must receive from channel _registration:

.. code-block:: python

{
    'subjects_to_subscribe': ['test'],
    'unique_name': 'test_module1'
}

If error will be detected in worker, module send error message to channel _errors:

.. code-block:: python

{
    'task_data': data,
    'result': "ERROR",
    'name': 'name',
    'hostname': 'hostname'
}

Project details


Download files

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

Files for bordercontrol, version 0.2.0.0.5
Filename, size File type Python version Upload date Hashes
Filename, size bordercontrol-0.2.0.0.5-py3-none-any.whl (5.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size bordercontrol-0.2.0.0.5.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page