Bläddra i källkod

[IMP] add memory limit

Gogs 6 år sedan
förälder
incheckning
e619bfc3d2
2 ändrade filer med 21 tillägg och 3 borttagningar
  1. 12 2
      api/utils/docker_api.py
  2. 9 1
      api/utils/odoo_api.py

+ 12 - 2
api/utils/docker_api.py

@@ -126,7 +126,7 @@ def get_internal_ip(container_name_or_id=None):
 
 '''
 '''
-def run_container(image=None, name=None, ports=[], volumes=None, net=None):
+def run_container(image=None, name=None, ports=[], volumes=None, net=None, memory_limit=None, memory_swap_limit=None):
     if not name:
         return False
 
@@ -136,7 +136,17 @@ def run_container(image=None, name=None, ports=[], volumes=None, net=None):
         return False
 
     try:
-        client.containers.run(image, None, name=name, detach=True, ports=ports, volumes=volumes, network=net)
+        client.containers.run(
+            image, 
+            None, 
+            name=name, 
+            detach=True, 
+            ports=ports, 
+            volumes=volumes, 
+            network=net, 
+            mem_limit=memory_limit, 
+            memswap_limit=memory_swap_limit
+        )
         return True
     except (ContainerError, ImageNotFound, APIError):
         return False

+ 9 - 1
api/utils/odoo_api.py

@@ -197,7 +197,15 @@ def create_odoo_container(name=None, ports=[]):
         'mode': 'rw'
     })  , settings.ODOO_DEFAULT_FOLDERS))
 
-    run_container(settings.ODOO_IMAGE, name, ports, volumes, settings.INTERNAL_NETWORK_NAME)
+    run_container(
+        settings.ODOO_IMAGE, 
+        name, 
+        ports, 
+        volumes, 
+        settings.INTERNAL_NETWORK_NAME,
+        '150m',
+        '150m'
+    )
     
     time.sleep(5)