diff --git a/.version b/.version new file mode 100644 index 0000000..d1c6331 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +0.01 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e93f9be --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.10.2 + +ENV PYTHONUNBUFFERED 1 + +WORKDIR /adi + +ADD requirements.txt /adi/ +RUN pip install --upgrade pip +RUN pip install -r requirements.txt + +# ① Install some dependencies +RUN apt-get update \ + && apt-get install -y libsasl2-dev python-dev libldap2-dev libssl-dev \ + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + + +# Copy adi +ADD /adi /adi + + +VOLUME /usr/src \ No newline at end of file diff --git a/Jenkinsfile_Devstart b/Jenkinsfile_Devstart new file mode 100644 index 0000000..be2d3be --- /dev/null +++ b/Jenkinsfile_Devstart @@ -0,0 +1,36 @@ +pipeline { + + environment { + DOCKERHUB_CREDENTIALS = credentials('avicoiot-dockerhub') + PRODUCT = 'ADI' + GIT_HOST = 'somewhere' + GIT_REPO = 'repo' + } + agent any + + options { + buildDiscarder(logRotator(numToKeepStr: '3')) + } + stages { + stage('Build') { + steps { + sh 'docker build -t avicoiot/adi-alpine:latest .' + } + } + stage('Login') { + steps { + sh 'echo $DOCKERHUB_CREDENTIALS_PSW | docker login --username $DOCKERHUB_CREDENTIALS_USR --password-stdin' + } + } + stage('Push') { + steps { + sh 'docker push avicoiot/adi-alpine:latest' + } + } + } + post { + always { + sh 'docker logout' + } + } +} diff --git a/Jenkinsfile_start b/Jenkinsfile_start deleted file mode 100644 index c965622..0000000 --- a/Jenkinsfile_start +++ /dev/null @@ -1,36 +0,0 @@ -pipeline { - agent { - node { - label 'python' - } - } - triggers { - pollSCM '*/5 * * * *' - } - stages { - stage('Build') { - steps { - echo "Building.." - sh ''' - echo "doing build stuff.." - ''' - } - } - stage('Test') { - steps { - echo "Testing.." - sh ''' - echo "doing test stuff.." - ''' - } - } - stage('Deliver') { - steps { - echo 'Deliver....' - sh ''' - echo "doing delivery stuff.." - ''' - } - } - } -} diff --git a/RN.md b/RN.md new file mode 100644 index 0000000..e69de29 diff --git a/Untitled Diagram.drawio b/Untitled Diagram.drawio new file mode 100644 index 0000000..4b20a0e --- /dev/null +++ b/Untitled Diagram.drawio @@ -0,0 +1 @@ +UzV2zq1wL0osyPDNT0nNUTV2VTV2LsrPL4GwciucU3NyVI0MMlNUjV1UjYwMgFjVyA2HrCFY1qAgsSg1rwSLBiADYTaQg2Y1AA== \ No newline at end of file diff --git a/app_config/config.yaml b/adi/app_config/config.yaml similarity index 100% rename from app_config/config.yaml rename to adi/app_config/config.yaml diff --git a/app_config/customer.py b/adi/app_config/customer.py similarity index 100% rename from app_config/customer.py rename to adi/app_config/customer.py diff --git a/app_config/db_config.py b/adi/app_config/db_config.py similarity index 94% rename from app_config/db_config.py rename to adi/app_config/db_config.py index 9ddaa38..9502217 100644 --- a/app_config/db_config.py +++ b/adi/app_config/db_config.py @@ -1,11 +1,9 @@ -from app_config.settings import SingletonMeta +from adi.app_config.settings import SingletonMeta from typing import Dict from enum import Enum from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker -from sqlalchemy_utils import database_exists, create_database -from sqlalchemy.sql import text + class DBType(str, Enum): POSTGRES = "postgres" diff --git a/app_config/db_config_with_ABC.py b/adi/app_config/db_config_with_ABC.py similarity index 97% rename from app_config/db_config_with_ABC.py rename to adi/app_config/db_config_with_ABC.py index 219fab7..43f31d9 100644 --- a/app_config/db_config_with_ABC.py +++ b/adi/app_config/db_config_with_ABC.py @@ -1,4 +1,3 @@ -from app_config.settings import SingletonMeta from abc import ABC, abstractmethod from typing import Dict from enum import Enum diff --git a/app_config/settings.py b/adi/app_config/settings.py similarity index 100% rename from app_config/settings.py rename to adi/app_config/settings.py diff --git a/app_config/task.py b/adi/app_config/task.py similarity index 100% rename from app_config/task.py rename to adi/app_config/task.py diff --git a/app_config/tasks_orchestrator.py b/adi/app_config/tasks_orchestrator.py similarity index 100% rename from app_config/tasks_orchestrator.py rename to adi/app_config/tasks_orchestrator.py diff --git a/main.py b/adi/main.py similarity index 84% rename from main.py rename to adi/main.py index e132d2c..80d0d53 100644 --- a/main.py +++ b/adi/main.py @@ -1,9 +1,7 @@ -from app_config.settings import Settings -from app_config.db_config import DBContext -from app_config.task import Task -import os +from adi.app_config.settings import Settings +from adi.app_config.db_config import DBContext from pathlib import Path -config_file = Path('app_config','config.yaml') +config_file = Path('app_config', 'config.yaml') rules = 'application_conig.rules.' diff --git a/rules/source_1.csv b/adi/rules/source_1.csv similarity index 100% rename from rules/source_1.csv rename to adi/rules/source_1.csv diff --git a/rabbitmq/celery_test/main.py b/rabbitmq/celery_test/main.py index ac4033a..68f6510 100644 --- a/rabbitmq/celery_test/main.py +++ b/rabbitmq/celery_test/main.py @@ -1,3 +1,3 @@ -from tasks import add +from proj.tasks import add result = add.delay(4, 4) result.get(propagate=False) \ No newline at end of file diff --git a/rabbitmq/celery_test/proj/__pycache__/__init__.cpython-310.pyc b/rabbitmq/celery_test/proj/__pycache__/__init__.cpython-310.pyc index 3ce5695..ccad029 100644 Binary files a/rabbitmq/celery_test/proj/__pycache__/__init__.cpython-310.pyc and b/rabbitmq/celery_test/proj/__pycache__/__init__.cpython-310.pyc differ diff --git a/rabbitmq/celery_test/proj/__pycache__/celery.cpython-310.pyc b/rabbitmq/celery_test/proj/__pycache__/celery.cpython-310.pyc index 4fc7e53..7bd48e7 100644 Binary files a/rabbitmq/celery_test/proj/__pycache__/celery.cpython-310.pyc and b/rabbitmq/celery_test/proj/__pycache__/celery.cpython-310.pyc differ diff --git a/rabbitmq/celery_test/proj/__pycache__/tasks.cpython-310.pyc b/rabbitmq/celery_test/proj/__pycache__/tasks.cpython-310.pyc index ab5aee7..07014b3 100644 Binary files a/rabbitmq/celery_test/proj/__pycache__/tasks.cpython-310.pyc and b/rabbitmq/celery_test/proj/__pycache__/tasks.cpython-310.pyc differ diff --git a/rabbitmq/celery_test/proj/tasks.py b/rabbitmq/celery_test/proj/tasks.py index 8395839..599b3b2 100644 --- a/rabbitmq/celery_test/proj/tasks.py +++ b/rabbitmq/celery_test/proj/tasks.py @@ -1,15 +1,16 @@ from .celery import app from time import sleep from datetime import datetime +from decimal import Decimal,getcontext @app.task def add(x, y): - - now = datetime.now() - current_time = now.strftime("%H:%M:%S") - print("AAAAAAA Current Time =", current_time) - print("I-->", x ,y ) + # sleep(10) + # now = datetime.now() + # current_time = now.strftime("%H:%M:%S") + # print("Current Time =", current_time) + # print( x , "New -->" ) return x + y @@ -23,9 +24,16 @@ def xsum(numbers): return sum(numbers) +@app.task +def pi_calc(): + sleep(1) + pi_val = 100 + return pi_val + + # adding watchdog - enable refersh with every change -#watchmedo auto-restart --directory=./proj --pattern=*.py --recursive -- celery -A proj worker --concurrency=1 --loglevel=INFO --pool=solo +#watchdog auto-restart --directory=./proj --pattern=*.py --recursive -- celery -A proj worker --concurrency=1 --loglevel=INFO --pool=solo # execute regulary #celery -A proj worker --pool=solo -l INFO \ No newline at end of file diff --git a/rabbitmq/celery_test/test_celery_proj.py b/rabbitmq/celery_test/test_celery_proj.py index a1c9846..6a6b2db 100644 --- a/rabbitmq/celery_test/test_celery_proj.py +++ b/rabbitmq/celery_test/test_celery_proj.py @@ -1,20 +1,32 @@ -from proj.tasks import add -from celery import group +from proj.tasks import add,pi_calc +from celery import group,signature +from time import sleep + + +def mylink(num): + return num+100 + + + + +# res= pi_calc.delay() +# print(res.status) +# sleep(5) +# print(res.status,res.get()) -# s1 = add.signature((2, 2), countdown=2) -# res = s1.delay() -# -# print(res.get()) # print(add(21,34)) -# -for i in range(10): - print(add.apply_async((i, 2), queue='ZZ1Z')) + +for i in range(5): + print(add.apply_async((i, -9))) # # g = group(add.s(i,2) for i in range(10)) # print(g(10).get()) +# print(celery.chain(add.delay(1,3), +# mylink(2)).appl_async()) + # # g = group(add.s(i, i) for i in range(10))().get() # diff --git a/requirements.txt b/requirements.txt index ee08c5e..5ae2e10 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1,11 @@ -pip==22.3.1 -setuptools==65.5.1 -wheel==0.38.4 +pip +setuptools +wheel sqlalchemy SQLAlchemy-Utils numpy pandas python-decouple pyyaml -psycopg2 \ No newline at end of file +psycopg2 +celery