Commit 26bf0a5b authored by Akshay G's avatar Akshay G

local time

parent 301b249d
...@@ -24,4 +24,4 @@ ADD . /app ...@@ -24,4 +24,4 @@ ADD . /app
WORKDIR /app WORKDIR /app
RUN pip install -r requirements.txt RUN pip install -r requirements.txt
RUN rm -rf /var/lib/apt/lists/* && rm -rf /root/.cache/pip/ RUN rm -rf /var/lib/apt/lists/* && rm -rf /root/.cache/pip/
CMD ["python", "app.py"] CMD ["python", "cron-app.py"]
\ No newline at end of file
import os import os
from collections import namedtuple from collections import namedtuple
os.environ['config'] = '{"MONGO_URI": "mongodb://svc-ilens:svc2345@192.168.0.220:21017", "MONGO_DB":"ilens_wps", ' \ os.environ['config'] = '{"MONGO_URI": "mongodb://svc-ilens:svc2345@192.168.0.220:21017", "MONGO_DB":"ilens_wps", ' \
'"MONGO_COLL": "serviceConfiguration"} ' '"MONGO_COLL": "serviceConfiguration"} '
from scripts.pull_docs_mongo import PullEvents from scripts.pull_docs_mongo import PullEvents
from scripts.sqlite_ingestor import SQLiteHandler from scripts.sqlite_ingestor import SQLiteHandler
from scripts.cron_job import CRON from scripts.cron_job import CRON
from scripts.common.config import MONGO_DB_OBJ, MONGO_SERVICE_COLL, HOST_CONFIG from scripts.common.config import MONGO_DB_OBJ, MONGO_SERVICE_COLL, HOST_CONFIG
from datetime import datetime, timedelta from datetime import datetime, timedelta
from scripts.common.logsetup import logger from scripts.common.logsetup import logger
from scripts.cron_job import * from scripts.cron_job import *
from datetime import datetime
get_in_out_dt_output = namedtuple("output", "dt_in_time dt_out_time punch_date") from dateutil import tz
get_in_out_dt_output = namedtuple("output", "dt_in_time dt_out_time punch_date")
def create_db_obj():
"""Creates and returns the database object
also initialise schemas in the data def create_db_obj():
Returns: """Creates and returns the database object
SQLiteHandler: Database object also initialise schemas in the data
""" Returns:
db_obj = CRON() SQLiteHandler: Database object
return db_obj """
db_obj = CRON()
return db_obj
def insert_records(msserver_obj, data):
data = {
"job_run_date": datetime.now(), def insert_records(msserver_obj, data):
"auto_update": 1,
"shift_hours": 8, # METHOD 1: Hardcode zones:
"group_event_period_seconds": 300, from_zone = tz.gettz('UTC')
"over_time_hours": 3, to_zone = tz.gettz('Asia/Kolkata')
"job_interval_minutes": 15 print(to_zone)
} utc = datetime.utcnow()
utc = utc.replace(tzinfo=from_zone)
x = msserver_obj.insert_records(data) # Convert time zone
print(x) central = utc.astimezone(to_zone)
return x print(central)
data = {
"job_run_date": central,
def add(msserver_obj, date): "auto_update": 1,
date = datetime.today() "shift_hours": 8,
msserver_obj.insertConfigTime(date) "group_event_period_seconds": 300,
"over_time_hours": 3,
"job_interval_minutes": 15
def main(): }
"""main function
""" x = msserver_obj.insert_records(data)
msserver_obj = create_db_obj() # Vamshi print(x)
insert_records(msserver_obj, '') return x
if __name__ == '__main__': def add(msserver_obj, date):
main() date = datetime.today()
# msserver_obj.insertConfigTime(date)
# msserver_obj = create_db_obj()
# # get_config(msserver_obj)
# # insert_records(msserver_obj, '') def main():
# # msserver_obj.insertConfigTime() """main function
"""
msserver_obj = create_db_obj() # Vamshi
insert_records(msserver_obj, '')
if __name__ == '__main__':
main()
#
# msserver_obj = create_db_obj()
# # get_config(msserver_obj)
# # insert_records(msserver_obj, '')
# # msserver_obj.insertConfigTime()
...@@ -2,4 +2,6 @@ pymongo ...@@ -2,4 +2,6 @@ pymongo
flask flask
flask_cors flask_cors
sqlalchemy sqlalchemy
mysqlclient mysqlclient
\ No newline at end of file pymssql
python-dateutil
...@@ -10,7 +10,7 @@ from sqlalchemy.ext.declarative import declarative_base ...@@ -10,7 +10,7 @@ from sqlalchemy.ext.declarative import declarative_base
from scripts.common.logsetup import logger from scripts.common.logsetup import logger
from scripts.common.config import MONGO_DB_OBJ, MONGO_SERVICE_COLL from scripts.common.config import MONGO_DB_OBJ, MONGO_SERVICE_COLL
from datetime import timedelta from datetime import timedelta
from dateutil import tz
Base = declarative_base() Base = declarative_base()
MYSQL_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'msserver'}).get('config') MYSQL_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'msserver'}).get('config')
...@@ -63,6 +63,7 @@ class CRON: ...@@ -63,6 +63,7 @@ class CRON:
return self.config return self.config
def insert_records(self, data): def insert_records(self, data):
res = self.session.query(configurations).count() res = self.session.query(configurations).count()
print(res) print(res)
if res == 0: if res == 0:
...@@ -70,10 +71,19 @@ class CRON: ...@@ -70,10 +71,19 @@ class CRON:
self.session.commit() self.session.commit()
else: else:
data = self.getConfig() data = self.getConfig()
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('Asia/Kolkata')
print(to_zone)
utc = datetime.utcnow()
utc = utc.replace(tzinfo=from_zone)
# Convert time zone
localtimenow = utc.astimezone(to_zone)
print(data) print(data)
if data['auto_update'] == 1 and (data['job_run_date'] + timedelta(minutes=data['job_interval_minutes'])) < datetime.now(): check = (data['job_run_date'] + timedelta(minutes=data['job_interval_minutes'])).astimezone(to_zone)
print(check,localtimenow)
if data['auto_update'] == 1 and check < localtimenow:
print(data['job_run_date'], data['job_interval_minutes']) print(data['job_run_date'], data['job_interval_minutes'])
data['job_run_date'] = datetime.now() data['job_run_date'] = localtimenow
self.session.add(self.insert(data)) self.session.add(self.insert(data))
self.session.commit() self.session.commit()
return True return True
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment