Automatizza le attività in Rails usando la gemma Whenever

Blog

Cos'è Cron?

Prima di iniziare a usare il ogni volta che gemma , dobbiamo conoscere Cron. cron è un'utilità che viene utilizzata per pianificare i comandi a intervalli specificati ed è molto probabilmente già presente sul tuo computer. È ideale per automatizzare attività ricorrenti, chiamate cron job. I lavori Cron possono essere scritti direttamente in un file di configurazione chiamato crontab, tuttavia la sintassi può essere un po' confusa (ci sono molti asterischi):



# ┌───────────── minute (0 - 59) # │ ┌───────────── hour (0 - 23) # │ │ ┌───────────── day of the month (1 - 31) # │ │ │ ┌───────────── month (1 - 12) # │ │ │ │ ┌───────────── day of the week (0 - 6) # │ │ │ │ │ # │ │ │ │ │ # │ │ │ │ │ # * * * * *

Il ogni volta che gemma aggiunge un livello di semplicità ai lavori cron e fornisce una sintassi molto più leggibile per scriverli. Impostiamolo:

  1. Installa quando vuoi
gem install whenever

o aggiungi quanto segue al tuo Gemfile e poi esegui |_+_|



bundle

2. Creare un gem 'whenever', require: false file eseguendo quanto segue:

**schedule.rb**

3. Imposta il tuo output



Il |_+_| file ha alcuni esempi commentati per riferimento. Una cosa che deve essere aggiunta è dove verranno registrati i lavori cron una volta completati. Possiamo mettere il nostro in cron.log, ma questo può essere personalizzato:

bundle exec wheneverize .

Questo passaggio è davvero importante, perché se provi a eseguire un semplice cron job, come stampare qualcosa, verrà stampato ovunque imposti l'output e _non _il tuo terminale.

Quattro. Configurazione del cron job e dell'intervallo

Ogni volta che ha una sintassi meravigliosamente semplice, puoi controllare il documentazione per ogni specifica esigenza di intervallo. Per il nostro esempio, eseguiamo alcune attività ogni minuto:

crea un account per l'app in contanti con e-mail
schedule.rb

Ogni volta che offre alcuni tipi di lavoro diversi per esprimere le attività. Useremo Rastrello , ma controlla tutte le opzioni di seguito:

  • set :output, 'log/cron.log'
  • every 1.minute do #task will go here end
  • runner MyModel.some_process
  • Puoi anche definire il tuo tipo di lavoro. Le istruzioni sono riportate nel ogni volta che la documentazione .

#sviluppo-ruby-on-rails #sviluppo-web #cron #ruby-on-rails #automation

medium.com

Automatizza le attività in Rails usando la gemma Whenever

Una procedura dettagliata dell'implementazione di cron job utilizzando la gemma ogni volta. Prima di poter iniziare a usare la gemma ogni volta, dobbiamo conoscere Cron. Cron è un'utilità che viene utilizzata per pianificare i comandi a intervalli specificati e molto probabilmente è già sul tuo computer. È ideale per automatizzare attività ricorrenti, chiamate cron job. I lavori Cron possono essere scritti direttamente in un file di configurazione chiamato crontab