Hvordan automatiserer du din server m / Ruby?

Hej fyre! I denne artikel eller historie vil jeg skrive om at automatisere din bagenden med Ruby. Generelt, hvis du søger på google som: "Hvordan kan jeg få min server til at gøre tingene automatisk med bestemte perioder (intervaller)?" "Hvordan kan jeg få nye daglige data til automatisk udsæd af min database?" "Hvordan holder jeg en server vågen til visse opgaver?"

Grundlæggende, hvis du vil gøre noget baseret på tidsperiode med andre ord ikke baseret på brugerhandlinger, er denne historie for dig.

Bemærk: Denne historie antager, at du kender rubin.
Kilde: Automation er fremtiden for applikationssupport | Hexaware

Så lad os komme i gang! Det er faktisk ikke en stor proces, men for det første kan det være frustrerende. Jeg kunne ikke lære meget hurtigt, så jeg lærte, at det ville være en god kilde for medkodere.

Jeg vil vise jer 2 forskellige teknikker, en af ​​dem er virkelig let, men ikke den fulde kapacitet, den anden er helt på din kontrol, men det kræver en lille smule arrangement til din kode.

Heroku Scheduler (2min)

Så på denne måde betyder det virkelig ikke noget, hvilket sprog du brugte, det er en gyldig måde, hvis du implementerede mappen eller serveren på Heroku. De trin du skal følge:

  1. Første ting installeres først din app på Heroku.
  2. Lige derefter gå til dine indstillinger i Heroku, og når du ruller ned, ser du en “Add-On” -side (del), hvor du kan hente tilføjelser til din server. Du kan bruge shell / bash til den samme ting, men det er meget lettere på instrumentbrættet.
  3. Når du kun får det tilføjelse, du har brug for, er at arrangere intervallerne på Heroku Scheduler-grænsefladen. Så dybest set har du et valg om at køre skinner eller rubin-kommando med intervaller. Eksempel: “heroku run rails db: seed”, “heroku run ruby ​​run_my_bot.rb”
Bemærk: Med Heroku Scheduler har du ikke fuld kontrol over de intervaller, de har, hver 10. minut, time, dag osv. Og hvis du vil tilføje mere end 1 interval, vil de have, at du betaler for dette. Gudskelov, vi har en perle, der hedder Clockwork, som er den næste ting, jeg vil forklare.

Ruby Clockwork Gem (10–15min)

Så når jeg sagde, det vil kræve en ordning på din kode, mener jeg, at du er nødt til at arrangere din handling som en klassemetode eller forekomstmetode. Det skyldes, at når du arbejder med Clockwork-perle, som jeg ved, ikke kan du køre en fil, som jeg forklarede for Heroku Scheduler. Så hvad du har brug for er at omdanne din handling til eksekverbar klasse eller instansmetode. I mit tilfælde var det noget i retning af “ArtBot.run”.

Når du har det, du vil have som metode, er det eneste, du behøver, at installere Clockwork Gem. Derefter skal du oprette en fil, der hedder “clock.rb”, jeg tror, ​​at hvis du vil konfigurere dette til skinner, skal du oprette i "./lib" -mappen. Se detaljeret dokumentation om Clockwork Gem.

I denne fil skal du indstille perlen, og du vil arrangere dine intervaller, også kan du arrangere dine intervaller med logik, så jeg tror, ​​det er som et stort plus. Her er min fil, jeg har lige lavet et interval efter mine behov. Det er simpelt som det. For at opdage det fulde potentiale bedes du kontrollere deres dokumenter, jeg sætter linket over dette afsnit.

Så i mit tilfælde prøvede jeg at sende tweets med medier hver 3. time på Twitter. Hvis du vil have detaljerede oplysninger om mit projekt, kan du besøge her. Når du har konfigureret dine intervaller, skal du arrangere din "Procfile". For ikke at blive for detaljeret går jeg så hurtigt som muligt. Hvis du ikke har denne fil, skal du oprette til implementering på Heroku. Normalt kan du lade denne fil være tom for en normal app. Men hvis vi ønsker at bruge Clockwork Gem, er vi nødt til at specificere dette i Procfile.

Så først skal du oprette din Procfile i samme rækkevidde for Gemfile. Så læg ikke under nogen anden mappe, du har i projektmappen. Du behøver heller ikke at placere nogen udvidelse til denne fil, det er bogstaveligt talt bare “Procfile”. Efter dette skal du lægge denne linje i din proces: "arbejder: bundle exec urværk ur.rb"

Så når du er færdig med alt det, skal alt arbejde korrekt. Jeg ved, at jeg ikke gik dybt i detaljer, og jeg dækkede ikke alt, men dette skulle være nok til en starter, gætte jeg. Jeg forsøgte at frigive de forbindelser, du har brug for at oprette for at automatisere din server, så jeg håber, at denne blog vil være nyttig for alle.

Kilder, hvor du kan finde alt: 1. Ruby Clockwork Gem 2. Heroku Scheduler