karma-exchange-org/karma-exchange — pull request #105 by avaliani (2013-06-20 02:35:38+00:00)
Title: Added event completion processing.

Added event completion processing.

1. Completion tasks performed:
a. Assign karma points to organizers and registered users
b. Eliminate waiting list users for completed events.

2. A cron job has been created to run every 10 minutes to check for completed events. App engine bills in 15 minute increments and gives 28 free instance hours. In production we can set max instances to 1 to avoid any costs and the cron job along with warm up tasks might keep the jersey / objectify bootstrap overhead low.

3. Edits to the participant list performed after all completion tasks have been processed will queue new completion tasks that will be processed next time the cron job runs.

Note that cron jobs don't run on the dev server. So if you're creating a non-bootstrap test event and it is completed you can invoke the following URL to process completion tasks:

http://localhost:8080/task/process_event_completions

As usual, all events have to be recreated / edited to handle this update.

Other changes:
1. start time and end time can not be modified for completed events.