diff --git a/asset/scheduler.py b/asset/scheduler.py index 99f5a363e..46e5c0ef4 100644 --- a/asset/scheduler.py +++ b/asset/scheduler.py @@ -4,6 +4,7 @@ scheduler.py This module is used to register scheduled tasks """ +import sys from datetime import date, timedelta from apscheduler.schedulers.background import BackgroundScheduler @@ -83,7 +84,11 @@ def notify_expiring_documents(): document.is_active = False -scheduler = BackgroundScheduler() -scheduler.add_job(notify_expiring_assets, "interval", hours=4) -scheduler.add_job(notify_expiring_documents, "interval", hours=4) -scheduler.start() +if not any( + cmd in sys.argv + for cmd in ["makemigrations", "migrate", "compilemessages", "flush", "shell"] +): + scheduler = BackgroundScheduler() + scheduler.add_job(notify_expiring_assets, "interval", hours=4) + scheduler.add_job(notify_expiring_documents, "interval", hours=4) + scheduler.start() diff --git a/base/scheduler.py b/base/scheduler.py index 6d0d91901..f8cc17742 100644 --- a/base/scheduler.py +++ b/base/scheduler.py @@ -1,5 +1,6 @@ import calendar import datetime as dt +import sys from datetime import date, datetime, timedelta from apscheduler.schedulers.background import BackgroundScheduler @@ -429,66 +430,67 @@ def recurring_holiday(): recurring_holiday.save() -scheduler = BackgroundScheduler() +if not any( + cmd in sys.argv + for cmd in ["makemigrations", "migrate", "compilemessages", "flush", "shell"] +): + scheduler = BackgroundScheduler() -# Set the initial start time to the current time -start_time = datetime.now() + # Add jobs with next_run_time set to the end of the previous job + try: + scheduler.add_job(rotate_shift, "interval", minutes=5, id="job1") + except: + pass -# Add jobs with next_run_time set to the end of the previous job -try: - scheduler.add_job(rotate_shift, "interval", minutes=5, id="job1") -except: - pass + try: + scheduler.add_job( + rotate_work_type, + "interval", + minutes=5, + id="job2", + ) + except: + pass -try: - scheduler.add_job( - rotate_work_type, - "interval", - minutes=5, - id="job2", - ) -except: - pass + try: + scheduler.add_job( + undo_shift, + "interval", + minutes=5, + id="job3", + ) + except: + pass -try: - scheduler.add_job( - undo_shift, - "interval", - minutes=5, - id="job3", - ) -except: - pass + try: + scheduler.add_job( + switch_shift, + "interval", + minutes=5, + id="job4", + ) + except: + pass -try: - scheduler.add_job( - switch_shift, - "interval", - minutes=5, - id="job4", - ) -except: - pass + try: + scheduler.add_job( + undo_work_type, + "interval", + minutes=5, + id="job6", + ) + except: + pass -try: - scheduler.add_job( - undo_work_type, - "interval", - minutes=5, - id="job6", - ) -except: - pass + try: + scheduler.add_job( + switch_work_type, + "interval", + minutes=5, + id="job5", + ) + except: + pass -try: - scheduler.add_job( - switch_work_type, - "interval", - minutes=5, - id="job5", - ) -except: - pass - -scheduler.add_job(recurring_holiday, "interval", hours=4) -scheduler.start() + scheduler.add_job(recurring_holiday, "interval", hours=4) + scheduler.start() diff --git a/employee/scheduler.py b/employee/scheduler.py index 9144602b1..06f4d92aa 100644 --- a/employee/scheduler.py +++ b/employee/scheduler.py @@ -133,7 +133,8 @@ def block_unblock_disciplinary(): if not any( - cmd in sys.argv for cmd in ["makemigrations", "migrate", "compilemessages", "flush"] + cmd in sys.argv + for cmd in ["makemigrations", "migrate", "compilemessages", "flush", "shell"] ): """ Initializes and starts background tasks using APScheduler when the server is running. diff --git a/leave/scheduler.py b/leave/scheduler.py index f019286c6..dbc1933ae 100644 --- a/leave/scheduler.py +++ b/leave/scheduler.py @@ -48,7 +48,8 @@ def leave_reset(): if not any( - cmd in sys.argv for cmd in ["makemigrations", "migrate", "compilemessages", "flush"] + cmd in sys.argv + for cmd in ["makemigrations", "migrate", "compilemessages", "flush", "shell"] ): """ Initializes and starts background tasks using APScheduler when the server is running. diff --git a/leave/templates/leave/leave_type/leave_type_creation.html b/leave/templates/leave/leave_type/leave_type_creation.html index b85c134c7..90620ed88 100644 --- a/leave/templates/leave/leave_type/leave_type_creation.html +++ b/leave/templates/leave/leave_type/leave_type_creation.html @@ -171,7 +171,7 @@
- +
{{form.carryforward_expire_date}} diff --git a/payroll/scheduler.py b/payroll/scheduler.py index 75bf5f48d..73a95ad8e 100644 --- a/payroll/scheduler.py +++ b/payroll/scheduler.py @@ -5,6 +5,7 @@ This module is used to register scheduled tasks """ import json +import sys from datetime import date, timedelta from apscheduler.schedulers.background import BackgroundScheduler @@ -137,7 +138,11 @@ def auto_payslip_generate(): generate_payslip(date=date.today(), companies=companies, all=False) -scheduler = BackgroundScheduler() -scheduler.add_job(expire_contract, "interval", hours=4) -scheduler.add_job(auto_payslip_generate, "interval", hours=3) -scheduler.start() +if not any( + cmd in sys.argv + for cmd in ["makemigrations", "migrate", "compilemessages", "flush", "shell"] +): + scheduler = BackgroundScheduler() + scheduler.add_job(expire_contract, "interval", hours=4) + scheduler.add_job(auto_payslip_generate, "interval", hours=3) + scheduler.start() diff --git a/recruitment/scheduler.py b/recruitment/scheduler.py index c51c0a2d1..d07e873b4 100644 --- a/recruitment/scheduler.py +++ b/recruitment/scheduler.py @@ -48,7 +48,8 @@ def candidate_convert(): if not any( - cmd in sys.argv for cmd in ["makemigrations", "migrate", "compilemessages", "flush"] + cmd in sys.argv + for cmd in ["makemigrations", "migrate", "compilemessages", "flush", "shell"] ): """ Initializes and starts background tasks using APScheduler when the server is running.