{"id":12007,"date":"2016-11-03T16:08:16","date_gmt":"2016-11-03T15:08:16","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=12007"},"modified":"2016-11-03T16:08:16","modified_gmt":"2016-11-03T15:08:16","slug":"servizi-che-non-si-arrestano-mai-con-node-js-forever","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/servizi-che-non-si-arrestano-mai-con-node-js-forever\/","title":{"rendered":"Servizi che non si arrestano mai con Node.js Forever"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/introduzione-a-node-js\/\" target=\"_blank\">Node.js<\/a> \u00e8 una piattaforma che permette di creare servizi interessanti con poche righe di codice. E&#8217; un contesto modulare che, grazie ai package messi a sua disposizione, riesce a fornire funzionalit\u00e0 molto utili che diventano presto punti di riferimento dei propri progetti. A volte per\u00f2 si vorrebbe avere la certezza che questi servizi non venissero\u00a0arrestati o\u00a0che\u00a0almeno che, in tali casi, potessero ripartire in autonomia\u00a0il prima possibile.<\/p>\n<p>Esiste uno strumento basato su Node.js, di nome <a href=\"https:\/\/github.com\/foreverjs\/forever\" target=\"_blank\">Node.js Forever<\/a>, che mira proprio a questo scopo.<\/p>\n<p>Lo si installa tramite <em>npm<\/em>:<\/p>\n<pre class=\"lang:sh decode:true \">npm install forever -g<\/pre>\n<p>e, conclusa la preparazione, lo si pu\u00f2 incaricare di eseguire\u00a0continuamente uno script (in questo caso, contenuto nel file app.js):<\/p>\n<pre class=\"lang:sh decode:true \">forever start app.js<\/pre>\n<p>L&#8217;esecuzione pu\u00f2 essere personalizzata specificando alcune opzioni la cui esemplificazione \u00e8 reperibile presso il sito del progetto.<\/p>\n<p>Interessante anche la possibilit\u00e0 di definire opzioni e nome dello script per il task da assegnare a forever tramite un file json come quello seguente:<\/p>\n<pre class=\"lang:js decode:true \">{\r\n    \"uid\": \"app\",\r\n    \"append\": true,\r\n    \"watch\": true,\r\n    \"script\": \"index.js\",\r\n    \"sourceDir\": \"\/home\/myuser\/app\"\r\n}<\/pre>\n<p>da consegnare poi a forever per l&#8217;inizio dell&#8217;esecuzione:<\/p>\n<pre class=\"lang:sh decode:true \">forever start .\/forever\/development.json<\/pre>\n<p>Se si pensa ai tanti servizi in uso nei propri server e alla paura che il loro lavoro possa interrompersi improvvisamente si vede come Forever risponda effettivamente a esigenze reali ed il suo corretto funzionamento permetter\u00e0 di dormire sonni un p\u00f2 pi\u00f9 tranquilli.<\/p>\n<p>Alla prossima!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Node.js \u00e8 una piattaforma che permette di creare servizi interessanti con poche righe di codice. E&#8217; un&#8230;<\/p>\n","protected":false},"author":561,"featured_media":11863,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481],"tags":[1782,1538,1537,1781],"class_list":["post-12007","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-risorse-utili","tag-cli-tools","tag-javascript","tag-node-js","tag-node-js-forever"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=12007"}],"version-history":[{"count":6,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12007\/revisions"}],"predecessor-version":[{"id":12519,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/12007\/revisions\/12519"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/11863"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=12007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=12007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=12007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}