Aplikasi My Rails memiliki sejumlah tugas yang dipindahkan ke proses latar belakang, seperti mengubah ukuran gambar dan mengunggah ke S3. Saya menggunakan delayed_job untuk mengelola proses ini.
Proses ini, khususnya pembuatan thumbnail PDF (menggunakan Ghostscript) dan mengubah ukuran gambar (menggunakan ImageMagick), memerlukan banyak CPU dan sering kali menghabiskan 100% waktu CPU. Karena pekerjaan ini berjalan di server (RedHat Linux) yang sama dengan aplikasi web itu sendiri, serta DB, hal ini dapat menyebabkan aplikasi web kita menjadi tidak responsif.
Salah satu solusinya adalah dengan mendapatkan server lain yang hanya menjalankan pekerjaan latar belakang. Saya kira ini akan menjadi solusi optimal? Namun, karena ini bukan sesuatu yang dapat saya lakukan dengan segera, saya bertanya-tanya apakah mungkin membuat pekerjaan latar belakang berjalan pada prioritas sistem operasi yang lebih rendah, dan karenanya mengonsumsi lebih sedikit siklus CPU dalam melakukan pekerjaannya?
Pikiran dihargai.