This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/airavata-cookiecutter-django-app.git

commit 3d256c54e18c822b7cb0d76dc4adb2ce0a45e1e4
Author: Marcus Christie <[email protected]>
AuthorDate: Mon Aug 29 14:42:00 2022 -0400

    Adding queue_settings_calculators.py boilerplate
---
 .../{{cookiecutter.project_slug}}/apps.py          |  5 +++++
 .../queue_settings_calculators.py                  | 23 ++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git 
a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py 
b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py
index b8af0d7..3d8838f 100644
--- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/apps.py
@@ -24,3 +24,8 @@ class {{ cookiecutter.app_config_class_name }}(AppConfig):
     # description of *nav* in
     # 
https://apache-airavata-django-portal.readthedocs.io/en/latest/dev/new_django_app/#appconfig-settings
     # for more details for more details.
+
+    def ready(self) -> None:
+        # Uncomment to register your queue settings calculators. See TODO
+        # from {{ cookiecutter.project_slug }} import 
queue_settings_calculators  # noqa
+        pass
diff --git 
a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/queue_settings_calculators.py
 
b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/queue_settings_calculators.py
new file mode 100644
index 0000000..df7ba89
--- /dev/null
+++ 
b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/queue_settings_calculators.py
@@ -0,0 +1,23 @@
+from airavata.model.experiment.ttypes import ExperimentModel
+from airavata_django_portal_sdk.decorators import queue_settings_calculator
+
+# See TODO for more information
+@queue_settings_calculator(
+    id="{{ cookiecutter.project_slug}}-my-queue-settings-calculator", name="{{ 
cookiecutter.project_name}}: My Queue Settings Calculator"
+)
+def my_queue_settings_calculator(request, experiment_model: ExperimentModel):
+    # See 
https://airavata.apache.org/api-docs/master/experiment_model.html#Struct_ExperimentModel
 for ExperimentModel fields
+
+    # TODO: Implement logic here to determine appropriate queue settings for 
experiment_model
+    total_core_count = 4
+    queue_name = "shared"
+    node_count = 1
+    walltime_limit = 30
+
+    # Return a dictionary with the queue settings values
+    result = {}
+    result["totalCPUCount"] = total_core_count
+    result["queueName"] = queue_name
+    result["nodeCount"] = node_count
+    result["wallTimeLimit"] = walltime_limit
+    return result

Reply via email to