Теоретически, вы могли бы сделать это, используя разделяемую память UNIX и некоторый гем, который разрешает доступ к этим системным вызовам (некоторые описаны в этом вопросе .
Но на практике,это не должно иметь значения. После выполнения одной из задач содержимое прочитанного файла должно оставаться в кэш-памяти операционной системы даже после завершения процесса. Когда другие задачи открывают файл, до тех пор, покаТем временем кэш не был удален, они будут получать доступ к содержимому файла - или, по крайней мере, к части - напрямую из памяти, без снижения производительности чтения с диска.
Это один из техв ситуациях, когда до тех пор, пока тесты не покажут, что требуется более радикальное решение, доверие к существующим решениям для кэширования является самым простым и надежным.