https://github.com/thoth-station/graph-refresh-job
A job for scheduling solver to resolve dependency graphs of new packages
https://github.com/thoth-station/graph-refresh-job
artificial-intelligence hacktoberfest thoth
Last synced: about 1 year ago
JSON representation
A job for scheduling solver to resolve dependency graphs of new packages
- Host: GitHub
- URL: https://github.com/thoth-station/graph-refresh-job
- Owner: thoth-station
- License: gpl-3.0
- Created: 2018-04-17T06:27:35.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-10-18T00:16:55.000Z (over 2 years ago)
- Last Synced: 2025-03-24T13:51:24.505Z (over 1 year ago)
- Topics: artificial-intelligence, hacktoberfest, thoth
- Language: Python
- Size: 1.52 MB
- Stars: 1
- Watchers: 9
- Forks: 9
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Thoth Graph Refresh Job
-----------------------
.. image:: https://img.shields.io/github/v/tag/thoth-station/graph-refresh-job?style=plastic
:target: https://github.com/thoth-station/graph-refresh-job/tags
:alt: GitHub tag (latest by date)
.. image:: https://quay.io/repository/thoth-station/graph-refresh-job/status
:target: https://quay.io/repository/thoth-station/graph-refresh-job?tab=tags
:alt: Quay - Build
A job for scheduling solver to resolve dependency graphs and package-analyzer to gather digests and ABI of new packages or packages not analyzed yet.
Running the job locally
=======================
You can run this job locally. Run a faust consumer and then run the faust producer with help of app.sh.
The steps to run the consumer is well documented here - `link `_.
You can run the producer as - `faust -A producer main`
Notes on configuring producer.
==============================
The producer currently produces three types of messages i.e. solver, revsolver and unanalyzed-si messages.
These can be disabled by passing the respective env variables -
* THOTH_GRAPH_REFRESH_SOLVER=0
* THOTH_GRAPH_REFRESH_REVSOLVER=0
* THOTH_GRAPH_REFRESH_SECURITY=0
* THOTH_GRAPH_REFRESH_COUNT= (This restricts the number of messages per solver for solver messages and the total number of messages generated for security and revsolver.)
Insights to graph-refresh job
=============================
The job is run periodically as OpenShift's CronJob. It can be also triggered
automatically by Thoth's monitoring system when there is no workload happening
in Thoth's middletier namespace.
.. note::
* graph-refresh job is run in Thoth's frontend namespace
* kafka producer ensures that the messages to schedule solvers and reverse solvers(revsolvers) are sent to the kafka broker
Packages which are not resolved yet might be coming from:
* user requests on advises for software stacks
* user requests for provenance checks
* container image scans
* explicitly registering Python packages to Thoth on Management API endpoint