У меня есть задача направляющих: я должен использовать сценарий/бегуна или грабли?

Это происходит потому, что если значение делится на 6, оно также четное и делится на 3. Чтобы исправить это, сначала нужно проверить 6 и проверить только 2 и 3 в ветви else

for(var i = 1; i <= 100; i++) {
  if(i % 2 === 0 && i % 3 === 0) {
    console.log("The number " + i + " is divisible by two and three");
  }
  else {
      if(i % 2 === 0) {
        console.log("The number " + i + " is even" );
      } else {
        if(i % 3 === 0) {
          console.log("The number " + i + " is divisible by three");
        }
        else {
          console.log("The number " + i + " is odd");
        }
      }
  }
} 
66
задан the Tin Man 9 September 2013 в 22:29
поделиться

5 ответов

Различие между ними - то, что script/runner направляющие начальных загрузок, тогда как задача Граблей не делает, если Вы не говорите ее, заставляя задачу зависеть от :environment, как это:

task :some_useful_task => :environment do
  # do some useful task
end

, Так как загружающиеся направляющие являются дорогими, это могло бы стоить пропустить, если можно избежать его.

Кроме этого, они примерно эквивалентны. Я использую обоих, но в последнее время я использовал script/runner выполнение сценария отдельно больше.

59
ответ дан Luke Francl 24 November 2019 в 15:04
поделиться

Одна вещь, которую я сделал, является просто записью нормальные рубиновые сценарии и поместила их в script/maintenance каталог.

Все необходимо сделать, чтобы загрузить направляющие и получить доступ ко всем моделям, и т.д., помещается require '../../config/environment.rb' наверху файла, тогда Вы отсутствуете.

5
ответ дан Orion Edwards 24 November 2019 в 15:04
поделиться

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

3
ответ дан Daniel Morris 24 November 2019 в 15:04
поделиться

Я добрался, сценарий/бегун впечатления был, прежде всего, для периодических задач. Например, задание крона, которое работает:

SomeClass.update_from_web('http://www.sourcefordata.gov/')
2
ответ дан jlc 24 November 2019 в 15:04
поделиться

FWIW, похоже, есть некоторый отход от использования обработчика сценариев в пользу rake:

Обновление (25.04.2009): я рекомендую использовать задачи rake в отличие от скрипта / бегуна для повторяющихся задач.

Кроме того, как в этом посте , вы можете использовать грабли для повторяющихся задач:

Если бы я тогда хотел, чтобы это выполнялось каждую ночь в моей производственной базе данных в полночь, я мог бы написать задание cron, которое выглядит примерно так:

0 0 * * * cd / var / www / apps / rails_app / && / usr / local / bin / rake RAILS_ENV = production utils: send_expire_soon_emails

10
ответ дан 24 November 2019 в 15:04
поделиться
Другие вопросы по тегам:

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