Pergunta

Eu tenho um recurso no meu CMS que permite que um usuário faça upload de um arquivo zip cheio de imagens e o servidor as extrairá e insira cada uma em uma galeria de imagens. Percebi que isso tritura a CPU bastante severamente e faz com que outros pedidos diminuam a velocidade.

Estou pensando em usar o plug -in touched_job para delegar cada adição de imagem em segundo plano, mas também quero dar a esse processo uma prioridade menor da CPU para que não atire no servidor.

Estou bastante confiante na parte atrasada do exercício, mas a parte acelerada é onde estou preso. Existe uma maneira rubi de diminuir a prioridade de uma chamada de método?

É a imagem redimensionada que causa a mastigação da CPU.

Quaisquer ideias são bem -vindas :)

Foi útil?

Solução

Se o seu CMS estiver em execução no sistema Linux, você poderá fazer isso usando o comando "Nice". "Nice" iniciará um processo com uma prioridade mais baixa. A maneira mais fácil de usá -lo é apenas colocar bem na frente do seu comando. Então, se você estava executando o comando como

unzip uploaded-images.zip

Em vez disso, execute

nice unzip uploaded-images.zip

Isso fará com que o processo descompacente obtenha uma prioridade menor da CPU, permitindo que outros processos sejam executados primeiro. Veja o página de homem Para mais opções, como ajustar o nível de prioridade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top