Что Вы подразумеваете, что Ruby on Rails не ориентирован на многопотоковое исполнение?

Как минимум, вы можете проверить свойство type во время итерации по выбранным файлам. Тип PDF, который вы хотите искать, - application/pdf.

Для настоящих MIME-типов вы захотите использовать FileReader и Blob для оценки файла (ов). Но это еще одна банка червей.

Попробуйте выбрать файл PDF в этом фрагменте ...

$('input[type="file"]').on('change', function() {
  Object.values(this.files).forEach(function(file) {
    console.log(`Type: ${file.type}`);
    if (file.type == 'application/pdf') {
      console.log('Huzzah!')
    }
  })
})


6
задан Timothy Carter 29 July 2009 в 12:56
поделиться

3 ответа

Ваша информация устарела. Это ориентировано на многопотоковое исполнение с 2.2.2

Следует иметь в виду МРТ Ruby 1.8.x, наиболее широко используемая реализация Ruby использует Зеленые Потоки, таким образом, с 1.8.x, если Вы создаете 100 потоков, они все работают на том же ЦП. Поэтому при хостинге веб-сайтов направляющих с помощью МРТ, Вы, вероятно, хотите столько экземпляров выполнения Ruby, сколько у Вас есть CPU. Материал как пассажир заботится об этом для Вас.

Это раньше было большой проблемой для JRuby, потому что JRuby имеет Собственные потоки, и манипулирующие процессы кажутся лишними. Так или иначе, его разобранный теперь.

На в стороне, Iron Ruby, интерпретатор.Net Ruby выполняет собственные потоки.

Примечание: Ruby 1.9.1 собственных потоков использования, но существует все еще глобальный интерпретатор, закрепляет.

28
ответ дан 8 December 2019 в 02:53
поделиться

В основном то, что это говорит, - то, что у Вас не может быть нескольких копий направляющих, работающих в том же процессе под различными потоками, потому что для некоторых ресурсов возможно протечь между потоками, неумышленно вызывающими странное поведение, такими как объекты, по-видимому изменяющиеся/исчезающие наугад времена.

Кроме того, могло также иметь место, что классы не разработаны ни с какой синхронизацией, встроенной в них, мешая помещать части направляющих в потоки и иметь другие части быть общими для потоками.

4
ответ дан 8 December 2019 в 02:53
поделиться

Стоит упомянуть, что Ruby MRI 1.8.x использует зеленые потоки, но Ruby MRI 2 будет иметь собственные потоки.

0
ответ дан 8 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: