From c0efb23961e3590ddb4e3d2921aed00b36d1f621 Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Wed, 13 Feb 2013 11:08:21 -0500 Subject: [PATCH] move preen_users to real cron (remember to setup on the server with crontab) --- migrations/20130212_preen_cron.js | 2 +- src/server/cron.coffee | 41 ------------------------------- src/server/index.coffee | 3 --- 3 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 src/server/cron.coffee diff --git a/migrations/20130212_preen_cron.js b/migrations/20130212_preen_cron.js index 40dfc866b3..4b99e78371 100644 --- a/migrations/20130212_preen_cron.js +++ b/migrations/20130212_preen_cron.js @@ -1,4 +1,4 @@ -// include moment +// mongo habitrpg node_modules/moment/moment.js migrations/20130212_preen_cron.js /* Users are allowed to experiment with the site before registering. Every time a new browser visits habitrpg, a new diff --git a/src/server/cron.coffee b/src/server/cron.coffee deleted file mode 100644 index 191088bf3b..0000000000 --- a/src/server/cron.coffee +++ /dev/null @@ -1,41 +0,0 @@ -moment = require('moment') -mongo = require("mongoskin") -_ = require('underscore') - -### - Users are allowed to experiment with the site before registering. Every time a new browser visits habitrpg, a new - "staged" account is created - and if the user later registeres, that staged account is considered a "production" account. - This function removes all staged accounts that have been abandoned - either older than a month, or corrupted in some way (lastCron==undefined) -### -module.exports.deleteStaleAccounts = -> - - un_registered = { "auth.local": {$exists: false} , "auth.facebook": {$exists: false} } - registered = { $or: [ - { 'auth.local': { $exists: true } }, - { 'auth.facebook': { $exists: true} } - ]}; - - collection = mongo.db(process.env.NODE_DB_URI, {safe:true}).collection("users") - - collection.count registered, (err, result) -> console.log("#{result} registered users [before]") - collection.count un_registered, (err, result) -> console.log("#{result} un-registered users [before]") - - today = +new Date - -# isValidDate = (d) -> -# return false if Object::toString.call(d) isnt "[object Date]" -# not isNaN(d.getTime()) - - removeAccount = (collection, id) -> collection.remove {_id: id}, (err, res) -> throw err if err - - collection.findEach un_registered, (err, user) -> - throw err if err - return unless user? #why does this happen sometimes? - if !!user.lastCron # for now ignore missing crons, still looking into why this is happening - lastCron = new Date(user.lastCron) - diff = Math.abs(moment(today).startOf('day').diff(moment(lastCron).startOf('day'), "days")) - if diff > 10 - removeAccount(collection, user._id) - else - # cron was missing for some reason - collection.update {_id: user._id}, {$set:{lastCron: today}}, (err, res) -> throw err if err \ No newline at end of file diff --git a/src/server/index.coffee b/src/server/index.coffee index d2e560d1b1..dec5a3e2b7 100644 --- a/src/server/index.coffee +++ b/src/server/index.coffee @@ -10,9 +10,6 @@ auth = require 'derby-auth' priv = require './private' habitrpgStore = require('./store') -## Run server cron ## -#require('./cron').deleteStaleAccounts() - ## RACER CONFIGURATION ## racer = require 'racer'