...
- Disable
scheduler.updateLastRun(‘jobName’)
inmyAction.scala
(or inmodels/Event.scala
for sending email digests) by commenting it out. Your events (followed objects for example) will become 'permanent' and the timer job will always execute since there is no update of thelastJobTime
variable in the MongoDB job object. Don't forget to enable theupdateLastRun()
when you are done debugging. Set the time variables in
getJobByTime() in app/services/mongoldb/MongoDBSchedulerService.scala
to those saved in the MongoDB job object. The job action will fire every minute since the integer equality is always true. For example for the pre-defined e-mail times (minute
=0,hour
=7 andday_of_week
=1) setgetJobByTime()
Code Block language scala def getJobByTime(minute: Integer, hour: Integer, day_of_week: Integer, day_of_month: Integer): List[TimerJob] ={ val jobs = Jobs.find( $and( $or($and("day_of_week" $exists true, MongoDBObject("day_of_week" -> 1)), "day_of_week" $exists false), $or($and("hour" $exists true, MongoDBObject("hour" -> 7)), "hour" $exists false), $or($and("minute" $exists true, MongoDBObject("minute" -> 0)), "minute" $exists false) ) )
Again, don't forget to reverse changes when you are done debugging.
- gg
Testing e-mail digest
Add functioning e-mail in
app/util/Mail.scala
if you use a 'fake' e-mail in your local Clowder developmental branchCode Block language scala collapse true def sendEmail(subject: String, user: Option[User], recipient: User, body: Html) { if (recipient.email.isDefined) { Logger.debug("Subject:" + subject + ", From:" + emailAddress(user) + ", Recipient: " + emailAddress(Some(recipient)) + ", Body:") //sendEmail(subject, emailAddress(user), emailAddress(Some(recipient))::Nil, body) sendEmail(subject, emailAddress(user), List("yourEMail@illinois.edu"), body) } }
Use functioning
smtp
insecuresocial.conf
or override it by settingsmtp.host
and (optional)smtp.from
in yourcustom.conf
Code Block language scala smtp.host=smtp.ncsa.illinois.edu smtp.from=yourEMail@illinois.edu
Note that the host above can be used only within the NCSA's network.
...