Skip to main content

Enables running Python functions as standalone jobs based on interaction with valiot-jobs API

Project description

python-gql-worker

Enables running Python functions as standalone jobs based on interaction with valiot-jobs API

installation

pipenv install valiotworker

Deployment:

python setup.py sdist bdist_wheel && python -m twine upload dist/* --skip-existing # UPLOAD TO PYPI

API < v0.4.0

Job footprint:

@valiotWorker.job(...)
def my_job(job_id, update_job, kwargs)
  ...

Parameters:

  • job_id: Number representing the Identifier for this job
  • update_job: function to update status of current job (FINISHED, ERROR, etc)
  • kwargs: dictionary aliasing the custom params (from job's "input" attribute, for retrocompatibility)

API >= v0.5.0

@valiotWorker.job(...)
def my_job(my_arg1, my_arg2, ... my_arg_n, **_)
  ...

Starting from v0.5.0, every argument is accessed by its keyword.

You may have any arbitrary number of arguments which get loaded from the job input parameter, and the special arguments:

  • update_job: function to update status of current job (FINISHED, ERROR, etc)
  • job: dictionary containing job information (id, status, queue, insertion date, etc)
  • queue: dictionary containing Job's parent Queue information (name, type, frequency, etc)
  • kwargs: dictionary aliasing the custom params (from job's "input" attribute, for retrocompatibility)

Worker configuration:

This configurations must run before worker.run() (event loop)

# Poll with subscription
worker.setPollingMode(PollingMode.SUBSCRIPTION)
# or Poll with Queries
worker.setPollingMode(PollingMode.QUERY)

worker.setJobConfigMode(JobConfigMode.KEEP)

# Config remains untouched (Allow persistence of config on DB)
worker.setJobConfigMode(JobConfigMode.KEEP)
# Config updates with job params (Allow quick iteration of job setups)
worker.setJobConfigMode(JobConfigMode.SYNC)

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

ValiotWorker-6.0.1.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

ValiotWorker-6.0.1-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file ValiotWorker-6.0.1.tar.gz.

File metadata

  • Download URL: ValiotWorker-6.0.1.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.7

File hashes

Hashes for ValiotWorker-6.0.1.tar.gz
Algorithm Hash digest
SHA256 ff55d7b8ef2277ca38e10a88886eabeae4fbf40d206d3b20bad54eb0db0bcf45
MD5 e9babe785a4037b7f6cd1f6c78a3e39a
BLAKE2b-256 87dd0e8ad699d47c0a7de28f09e7b0505555cc99cc06521f6b464b746c7da5f5

See more details on using hashes here.

File details

Details for the file ValiotWorker-6.0.1-py3-none-any.whl.

File metadata

  • Download URL: ValiotWorker-6.0.1-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.7

File hashes

Hashes for ValiotWorker-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5b919b6b4f3ff0900471cbc22512036e534aa7dc019e3a1aca96219e6cd90d85
MD5 be2ab3591612cbb91fe79803c0a0bd3e
BLAKE2b-256 f953d1959de821744951b1e49332b137597d1de03770ff24f70007bd8f71262f

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