Skip to content

Instantly share code, notes, and snippets.

@chalettu
Last active October 19, 2017 19:54
Show Gist options
  • Save chalettu/905c38f415365c0fa479a2609fa9a954 to your computer and use it in GitHub Desktop.
Save chalettu/905c38f415365c0fa479a2609fa9a954 to your computer and use it in GitHub Desktop.
Promises, promises
const mongoose = require('mongoose')
const rp = require('request-promise-native')
if (process.env.NODE_ENV !== 'production') require('dotenv').config()
mongoose.connect(process.env.DB_URL, { useMongoClient: true })
// mongoose.Promise = global.Promise
mongoose.set('debug', true)
var Server = require('./models/server')
const stream = Server.find().cursor()
stream.eachAsync(doc => {
return new Promise((resolve, reject) => {
rp({uri: doc.url, simple: false, resolveWithFullResponse: true})
.then(function (res) {
doc.last_check.response_code = res && res.statusCode
doc.last_check.time = Date.now()
doc.save().then(() => {
resolve()
})
})
.catch(function (err) {
doc.last_check.message = err
// doc.last_check.response_code = res && res.statusCode
doc.last_check.time = Date.now()
doc.save()
})
})
}).then(() => {
mongoose.disconnect()
return Promise.resolve()
})
.catch(function (err) {
if (err) console.log(err)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment