mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Refactor
This commit is contained in:
parent
1532a0c3a1
commit
3cf5aec289
@ -1,6 +1,12 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from django.apps import AppConfig
|
from django.apps import AppConfig
|
||||||
|
import logging
|
||||||
|
|
||||||
|
import InvenTree.tasks
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class InvenTreeConfig(AppConfig):
|
class InvenTreeConfig(AppConfig):
|
||||||
@ -8,5 +14,23 @@ class InvenTreeConfig(AppConfig):
|
|||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
|
|
||||||
print("Starting background tasks")
|
self.start_background_tasks()
|
||||||
pass
|
|
||||||
|
def start_background_tasks(self):
|
||||||
|
|
||||||
|
try:
|
||||||
|
from django_q.models import Schedule
|
||||||
|
except (AppRegistryNotReady):
|
||||||
|
return
|
||||||
|
|
||||||
|
logger.info("Starting background tasks...")
|
||||||
|
|
||||||
|
InvenTree.tasks.schedule_task(
|
||||||
|
'InvenTree.tasks.delete_successful_tasks',
|
||||||
|
schedule_type=Schedule.WEEKLY,
|
||||||
|
)
|
||||||
|
|
||||||
|
InvenTree.tasks.schedule_task(
|
||||||
|
'InvenTree.tasks.check_for_updates',
|
||||||
|
schedule_type=Schedule.DAILY
|
||||||
|
)
|
||||||
|
@ -188,13 +188,13 @@ INSTALLED_APPS = [
|
|||||||
'build.apps.BuildConfig',
|
'build.apps.BuildConfig',
|
||||||
'common.apps.CommonConfig',
|
'common.apps.CommonConfig',
|
||||||
'company.apps.CompanyConfig',
|
'company.apps.CompanyConfig',
|
||||||
'InvenTree.apps.InvenTreeConfig',
|
|
||||||
'label.apps.LabelConfig',
|
'label.apps.LabelConfig',
|
||||||
'order.apps.OrderConfig',
|
'order.apps.OrderConfig',
|
||||||
'part.apps.PartConfig',
|
'part.apps.PartConfig',
|
||||||
'report.apps.ReportConfig',
|
'report.apps.ReportConfig',
|
||||||
'stock.apps.StockConfig',
|
'stock.apps.StockConfig',
|
||||||
'users.apps.UsersConfig',
|
'users.apps.UsersConfig',
|
||||||
|
'InvenTree.apps.InvenTreeConfig', # InvenTree app runs last
|
||||||
|
|
||||||
# Third part add-ons
|
# Third part add-ons
|
||||||
'django_filters', # Extended filter functionality
|
'django_filters', # Extended filter functionality
|
||||||
|
@ -7,10 +7,35 @@ import logging
|
|||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
|
from django.core.exceptions import AppRegistryNotReady
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def schedule_task(taskname, **kwargs):
|
||||||
|
"""
|
||||||
|
Create a scheduled task.
|
||||||
|
If the task has already been scheduled, ignore!
|
||||||
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
from django_q.models import Schedule
|
||||||
|
except (AppRegistryNotReady):
|
||||||
|
logger.warning("Could not start background tasks - App registry not ready")
|
||||||
|
return
|
||||||
|
|
||||||
|
if Schedule.objects.filter(func=taskname).exists():
|
||||||
|
logger.info(f"Scheduled task '{taskname}' already exists. (Skipping)")
|
||||||
|
else:
|
||||||
|
logger.info(f"Creating scheduled task '{taskname}'")
|
||||||
|
|
||||||
|
Schedule.objects.create(
|
||||||
|
func=taskname,
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def delete_successful_tasks():
|
def delete_successful_tasks():
|
||||||
"""
|
"""
|
||||||
Delete successful task logs
|
Delete successful task logs
|
||||||
@ -32,8 +57,12 @@ def check_for_updates():
|
|||||||
|
|
||||||
data = json.loads(response.text)
|
data = json.loads(response.text)
|
||||||
|
|
||||||
|
print("Response:")
|
||||||
|
print(data)
|
||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
|
||||||
def test(x):
|
def test(x):
|
||||||
print(f"Running at task! {x}")
|
print(f"Running at task! {x}")
|
Loading…
Reference in New Issue
Block a user