Hosting untuk Node.js masih tidak begitu meluas, terutamanya di negara-negara berbahasa Jerman. Syarikat awan Amerika Heroku menawarkan ubat di sini - dan bahkan secara percuma . Anda selalu melihat paradigma "Membangun aplikasi ... bukan infrastruktur" dan masih tidak mempunyai sekatan. Sebagai contoh, kami melaksanakan pekerjaan cron kecil berdasarkan PhantomJS , yang membuang laman web setiap hari dan menghantar tajuk halaman melalui e-mel.
Untuk melakukan ini, kami mula-mula mendaftar secara percuma di https://signup.heroku.com/:
Selepas pengesahan e-mel wajib, kami akan memberikan kata laluan yang selamat:
Untuk dapat menggunakan add-on percuma dari Marketplace di kemudian hari, kita mesti terlebih dahulu mengesahkan akaun kita di bawah https://heroku.com/verify dengan memasukkan kad kredit (jangan risau, semuanya tetap percuma):
Selebihnya kini berlaku secara eksklusif pada baris perintah. Untuk ini, kami memerlukan Node.js / npm , Git dan Heroku CLI secara tempatan .
Kami akhirnya masuk ke Heroku secara tempatan (sekali) pada baris arahan:
Mula-mula kami membuat aplikasi baru berdasarkan buildpack yang sesuai. Dalam contoh kami, kami menggunakan Node.js buildpack heroku-buildpack-nodejs.git rasmi:
1a01abaf4b9308c5714622396ccc4708
Sekarang kami membuat package.json untuk memasang pakej PhantomJS , CasperJS , SpookyJS dan Nodemailer yang diperlukan untuk projek kami:
1a01abaf4b9308c5714622396ccc4708
Logik sebenarnya boleh didapati di script.js:
1a01abaf4b9308c5714622396ccc4708
Kami menguji semuanya di peringkat tempatan:
1a01abaf4b9308c5714622396ccc4708
Skrip mengambil tajuk dari laman web dan menghantar e-mel:
Kami sekarang mendorong semua perkara di Heroku, yang juga mencetuskan proses pembinaan:
1a01abaf4b9308c5714622396ccc4708
Sekiranya anda ingin mendorong perubahan kod ke Heroku kemudian, anda tekan sekali lagi. Di satu pihak, kita sekarang boleh menggunakan SSH untuk memeriksa sama ada semuanya berjalan di pelayan:
1a01abaf4b9308c5714622396ccc4708
Di sini juga, e-mel dihantar dengan betul. Sekarang kita hanya perlu mengautomasikan prosesnya:
1a01abaf4b9308c5714622396ccc4708
Kami menambah panggilan skrip baru dengan "Tambah pekerjaan baru":
Sebagai ujian, kami memilih setiap 10 minit sebagai frekuensi dan menyimpannya:
Cronjob sekarang akan melakukan tugasnya secara automatik pada masa akan datang.