The Rise of Machines: Real World Applications of AI
Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.
Beanstalk er hröð og einföld vinnuröð. Það gerir þér kleift að keyra tímafrek verkefni ósamstillt, eins og að senda tölvupóst, tengjast ytri API eða vinna úr myndum. Með því að gera það muntu draga úr biðtíma vefforrita. Laravel veitir beinan stuðning fyrir beanstalkd.
Í þessari kennslu munum við setja upp beanstalkd, setja upp sýnishorn af Laravel forriti og stjórna biðröðunum í gegnum Supervisor . Kynningarforritið mun fá lista yfir tiltæk stýrikerfi frá Vultr API og velja einn af handahófi.
Það er gert ráð fyrir að þú hafir nú þegar Supervisor uppsett á kerfinu þínu. Ef þú gerir það ekki, ættir þú að lesa eftirfarandi kennslu um hvernig á að setja upp Supervisor: Uppsetning og stilla Supervisor á Ubuntu 16.04
Það er líka gert ráð fyrir að þú hafir SSH aðgang að Vultr tilvikinu þínu.
Fyrsta skrefið sem þarf að taka er að setja upp beanstalkd.
sudo apt-get update
sudo apt-get install beanstalkd
Byrjaðu þjónustuna.
sudo systemctl start beanstalkd
Þú gætir líka virkjað þjónustuna til að hefjast við frumstillingu kerfisins.
sudo systemctl enable beanstalkd
Athugaðu þjónustustöðuna með því að gefa út eftirfarandi skipun.
sudo systemctl status beanstalkd
Sjálfgefið beanstalkdhlustar á portið 11300. Beanstalk notar einfalda textatengda siðareglur sem lýst er í github geymslunni . Þú getur prófað samskiptareglur þess með því að keyra telnet.
telnet localhost 11300
Skrifaðu eftirfarandi og ýttu á ENTER.
list-tubes
Þú ættir að sjá lista yfir rör sem eru tiltækar á þjóninum:
OK 14
---
- default
Til að loka tengingunni quitskaltu einfaldlega slá inn og ýta síðan á ENTER.
Rör í Beanstalk tákna vinnuraðir. Beanstalk er í grundvallaratriðum samsett af framleiðendum , neytendum , störfum og rörum . Framleiðendur setja störf í rör til að neyta (vinnsla) af hvaða fjölda neytenda sem er. Athugaðu að bæði framleiðendur og neytendur eru einfaldlega viðskiptavinir Beanstalk netþjónsins og eru algjörlega óháðir hver öðrum. Í raun þýðir þetta að með því að nota Beanstalk geturðu framleitt störf þín í PHP forritinu þínu og látið vinna úr því í NodeJS appi til dæmis. Sem betur fer tekur Laravel allt þetta saman og gefur okkur mjög einfalt API til að senda og meðhöndla störf, eins og við munum sjá næst.
Til að byggja upp sýnishornsverkefnið okkar þurfum við fyrst að setja upp ósjálfstæði þess. Við ætlum að setja upp PHP og Composer.
sudo apt-get install php php-mbstring php-xml php-common php-zip composer
Búðu til verkefnið byggt á Laravel 5.5.
composer create-project --prefer-dist laravel/laravel vultr "5.5.*"
Næst cdinn í nýlega búna möppuna. Við munum vinna í þessari möppu héðan í frá. Hægt er að vísa í þessa möppu síðar sem PROJECT_ROOT.
cd vultr/
Til að nota Beanstalk í Laravel þurfum við að setja upp eina háð í viðbót, PHP Beanstalk biðlarann.
composer require pda/pheanstalk ~3.0
Við þurfum líka að búa til starfsfulltrúa. Í Laravel er þetta flokkur inni í app/Jobsmöppunni. Laravel er með stjórnborðsskipun til að hjálpa okkur að búa til vinnuflokk. Við skulum búa til sýnishorn Jobs okkar.
php artisan make:job FindFavoriteOS
Uppfærðu app/Jobs/FindFavoriteOS.phpskrána í eftirfarandi.
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;
class FindFavoriteOS implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$rawData = file_get_contents('https://api.vultr.com/v1/os/list');
$list = json_decode($rawData, true);
shuffle($list);
$key = array_rand($list);
$favorite = $list[$key];
Log::info('My Favorite OS is: ' . $favorite['name']);
}
}
Handfangsaðferðin er það sem verður í raun framkvæmt þegar verkið er neytt. Hér sækjum við gögn úr Vultr API, veljum stýrikerfi af handahófi og skrifum valið stýrikerfi í annálaskrána. Notkunarskráin er staðsett á storage/logs/laravel.log.
Við höfum þegar sett upp Beanstalk og skilgreint starfið sem það á að framkvæma. Nú er kominn tími til að segja Laravel að nota Beanstalk sem sjálfgefna vinnuröð. Afritaðu sjálfgefna .envskrána sem Laravel uppsetningin veitir.
cp .env.example .env
Opnaðu nú .envskrána og uppfærðu línuna þar sem biðröð driverinn er tilgreindur.
QUEUE_DRIVER=beanstalkd
Að lokum skaltu búa til forritslykil.
php artisan key:generate
Við erum nú tilbúin til að senda störf í Beanstalk vinnuröðina.
Það er frekar einfalt að senda starf í Laravel. Uppfærðu routes/web.phpskrána.
<?php
Route::get('/', function () {
for ($i = 0; $i < 50; $i++) {
\App\Jobs\FindFavoriteOS::dispatch();
}
return '50 Jobs dispatched!';
});
Þrátt fyrir að ekki sé mælt með því að keyra innbyggða þjóninn sem fylgir með í framleiðslu munum við nota hann hér til að styttast í.
php artisan serve --host 0.0.0.0 --port 8000
Farðu nú í vafra að http://[vultr-instance-ip]:8000. Þú munt sjá eftirfarandi skilaboð.
50 Jobs dispatched!
Opnaðu nýja SSH tengingu við netþjóninn þinn og inni í verkefnisrót okkar, framkvæmdu eftirfarandi.
php artisan queue:work --once
Þetta er væntanleg framleiðsla:
[2018-02-14 00:03:52] Processing: App\Jobs\FindFavoriteOS
[2018-02-14 00:03:53] Processed: App\Jobs\FindFavoriteOS
Staðfestu að skráin hafi verið búin til.
cat storage/logs/laravel.log
Til að forðast að þurfa að vinna úr biðröðinni handvirkt munum við nota supervisord. Búðu til eftirfarandi forritsstillingar í /etc/supervisor/conf.d/vultr.conf.
[program:vultr]
process_name=%(program_name)s_%(process_num)02d
command=php [PROJECT_ROOT]/artisan queue:work
autostart=true
autorestart=true
numprocs=8
redirect_stderr=true
stdout_logfile=/var/log/worker.log
Taktu eftir því að rétta leiðin til að setja yfirmann stillingarskrána fer eftir uppsetningu þinni. Mundu líka að skipta út [PROJECT_ROOT]með fullri leið að PROJECT_ROOTkerfinu þínu.
Hér erum við að stilla Supervisor til að byrja sjálfkrafa að vinna úr biðröðinni og, ef handritið bilar, til að endurræsa það. Athugaðu líka að við erum ekki að stofna einn starfsmann heldur 8 ferla. Þér er frjálst að sýna fram á hversu mörg ferli sem þú telur nauðsynleg eftir umsókn þinni.
Til að leyfa yfirmanni að stjórna starfsmanninum okkar, neyða hann til að endurlesa stillingar sínar.
sudo supervisorctl reread
sudo supervisorctl update
Ef Supervisor þjónustan hefur ekki verið hafin þarftu margir að hefja hana.
sudo systemctl start supervisord
Nú skulum við sjá hvort störfin séu í vinnslu.
tail -f storage/logs/laravel.log
Í vafra skaltu fletta að http://[vultr-instance-ip]:8000. Þú munt sjá að annálarnir eru búnir til á vélinni þinni.
Við höfum stillt Laravel forrit til að nota Beanstalk sem vinnuröð. Einnig sýndum við hvernig á að nota Supervisor til að stjórna starfsmönnum.
Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.
Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.
Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.
Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.
Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…
Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.
Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.
Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.
Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.
Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira