with rails ocean gratis español digitalocean deploy comç app ruby-on-rails ruby digital-ocean

ruby on rails - rails - Rake activo: la precompilación se anula cuando hay una sesión de consola abierta en producción



digitalocean web hosting (5)

En mi servidor de producción, que está alojado en un océano digital, si eso ayuda, Ubuntu 12.04, tengo RoR 4 y rake 10.1.1.

Cuando implemento, ejecuto rake assets:precompile , y he notado un problema extraño en el que si tengo una sesión de rails console abierta cuando hago esto, obtengo el siguiente resultado

~# rake assets:precompile ~# Killed

Es principalmente molesto, pero la razón por la que quiero que se resuelva es cuando se contrata a nuevos desarrolladores, habrá una pesadilla en la implementación y la consola.

Gracias,

Brian


Esto podría ayudar a alguien. Para mí, ya que no podía usar el comando ''fallocate'', tenía que hacer:

sudo dd if=/dev/zero of=/mnt/4GB.swap bs=4096 count=1048576 sudo chmod 600 /mnt/4GBB.swap sudo mkswap /mnt/4GB.swap sudo swapon /mnt/4GB.swap


Esto utiliza una gran cantidad de RAM. Para verificar cuánta memoria RAM disponible tiene libre, use el comando

free -m

Esto mostrará la memoria RAM disponible en MB

Una solución temporal sería crear un espacio de intercambio.

Iba a agregar esto como un comentario a la publicación de Jason R anterior antes de ir a sus pasos, solo para asegurarme de que se trata de un problema de recursos de RAM.

también podrías correr

echo {1,2,3} > /proc/sys/vm/drop_caches

para limpiar la memoria caché, pero probablemente no se liberará lo suficiente.


Su proceso de precompilación probablemente se está eliminando porque se está quedando sin memoria RAM. Puede confirmar esto ejecutando top en otra sesión ssh. Para solucionar este problema, cree un archivo de intercambio que se utilizará cuando la RAM esté llena.

Cree un espacio SWAP en Ubuntu Probablemente terminará necesitando algo de espacio de intercambio si planea usar Rails en la gota de RAM de Digital Ocean de 512 MB. Específicamente, se quedará sin memoria RAM cuando compile los activos, lo que provocará que el proceso se elimine de manera silenciosa y se eviten implementaciones exitosas.

Para ver si tiene archivos de intercambio:

sudo swapon -s

¿No se muestra el archivo de intercambio? Compruebe cuánto espacio de disco tiene:

df

Para crear un archivo de intercambio:

Paso 1: Asignar un archivo para intercambio

sudo fallocate -l 2048m /mnt/swap_file.swap

Paso 2: Cambiar permiso

sudo chmod 600 /mnt/swap_file.swap

Paso 3: Formatear el archivo para el dispositivo de intercambio

sudo mkswap /mnt/swap_file.swap

Paso 4: Habilitar el swap

sudo swapon /mnt/swap_file.swap

Paso 5: Asegúrate de que el intercambio esté montado cuando reinicies. Primero, abre fstab

sudo nano /etc/fstab

Finalmente, agregue la entrada en fstab (solo si no se agregó automáticamente)

# /etc/fstab /mnt/swap_file.swap none swap sw 0 0

Guardar y Salir. Ya has terminado de añadir swap. Ahora tus rake assets:precompile debe completarse sin ser matado.


Tengo una pila de opsworks en aws y me gustaría cambiar mi tipo de instancia. Estaba usando t1.micro y acabo de cambiarlo a t1.small

Muchas gracias.


Rake assets:precompile es un proceso de comer memoria.

Así que asegúrate de tener suficiente RAM antes de usar ese comando