Skip to main content

Skeleton Plugin for VAIS analytic system

Project description

Skeleton Plugin

Plugin skeleton V1

Flow handle job

  • Step 1: Register worker with backend (by env BACKEND_ENDPOINT) with some information (JOB_QUEUE, PLUGIN_CODE, PLUGIN_NAME, PLUGIN_DESCRIPTION, VERSION_CODE)
  • Step 2: Connect to Redis, Elastic search (via env REDIS_HOST, REDIS_PORT, ELASTICSEARCH_URL)
  • Step 3: Listen redis queue job (JOB_QUEUE)
  • Step 4: Handle job

Note: Using file rq_push_job.py for testing push job

Custom an plugin

  • Step 1: Inheritance class PluginSkeleton and overwrite function preload for load model if need (in sample_plugin.py).
  • Step 2: Custom function handle_job() inside file sample_plugin.py (keep input parameters)

Check list migrate skeleton plugin

  • News footprint handle job function: handle_job(doc_index, doc_id, input_data=None, depended_jobs=None)
  • Get input data from depended jod: input_data = SamplePlugin.get_depended_jobs_output(current_job, input_data, depended_jobs)
  • Input data have new structure, so need to change the way to parse data from input data
{
        "plugin_code":{
            "data": {},
            "version_code": {}
        },
        "plugin_code":{
            "data": {},
            "version_code": {}
        },
        ...
    }
  • Change in func push result. Now doc_index come before doc_id and need to input version code: PluginSkeleton.push_result(doc_index, doc_id, output, KeywordPlugin.VERSION_CODE)

  • output parameter in push_result func is just content in "data" field

  • "return" in an plugin now need to using this function: plugin_skeleton.PluginSkeleton.get_output_result(output, KeywordPlugin.VERSION_CODE)

  • In docker-compose.yml file need include DEPENDED_PLUGIN_CODE envs (e.g. 'asr,speech_cluster'). It's list of depended plugin code, separate with a comma

  • build lib

python setup.py sdist bdist_wheel
twine upload dist/*

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

vais-plug-0.2.7.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

vais_plug-0.2.7-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file vais-plug-0.2.7.tar.gz.

File metadata

  • Download URL: vais-plug-0.2.7.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.13

File hashes

Hashes for vais-plug-0.2.7.tar.gz
Algorithm Hash digest
SHA256 c78a942551e9c283b47c8094d9e023c50feead8dc037930f86f73c000f1fed19
MD5 fb41bab5019693aac7351ee5e6bf0090
BLAKE2b-256 14f63144f8cfd1b2f020c5b20e5eb8e8f8dceab1d5cb2c86057f4d16b23f8b9b

See more details on using hashes here.

File details

Details for the file vais_plug-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: vais_plug-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.13

File hashes

Hashes for vais_plug-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8efa28beb378937eb03017b5ec39d38801fd105e3851aff80cc0cd5b990f5f50
MD5 ed4a8b5d50d4f11d28988c3d4083e6e5
BLAKE2b-256 abf80fd9f1416988f1b7f1f029a9ffd3660e067acca17bc8591af800f8b5c5a8

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