Exemple #1
0
def schedule_master_activity(sid):
    logger.warning('schedule_master_activity sid:%s' % str(sid))
    s_act = col_get(SCHEDULEDACTIVITY_, {"_id" : ObjectId(sid)}, {}, 'one')
    if not s_act:
        logger.warning('Scheduled activity %s doesnt exist, exiting' % str(s_act))
        return
    logger.warning('schedule_master_activity  creating activity %s' % str(s_act))
    activity = Activity.create_activity(suggester=None, text=s_act.get('text'), expiry = s_act.get('expiry'), visibility='n', status=Activity.MASTER, confirm_msg = s_act.get('details'), where = s_act.get('where'), when = s_act.get('when'), network = s_act.get('network'))
    logger.warning('schedule_master_activity sid:%s aid:%s, removing scheduled act' % (str(sid), str(activity.get('_id'))))
    col_remove(SCHEDULEDACTIVITY_, {"_id" : ObjectId(sid)})
    logger.warning('schedule_master_activity sid:%s aid:%s pushing to: %s' % (str(sid), str(activity.get('_id')), s_act.get('network')))
    Activity.push_activity(activity['_id'])
    pull_default_hrs = get_eta(hours=settings.DEFAULT_USER_PULL_HOURS)
    pull_confirmed_hours = get_eta(hours=settings.CONFIRMED_USER_PULL_AFTER_WHEN_HOURS)
    logger.warning('schedule_master_activity sid:%s expire_activity_default:%s pull_default:%s pull_confirmed_activity_default:%s' % (str(sid), s_act.get('expiry').strftime('%Y-%m-%d %H:%M'), pull_default_hrs.strftime('%Y-%m-%d %H:%M'), pull_confirmed_hours.strftime('%Y-%m-%d %H:%M')))
    expire_activity_default.apply_async(args=[activity["_id"]], eta=s_act.get('expiry'))
    pull_default.apply_async(args=[activity["_id"]], eta=pull_default_hrs)
#    pull_confirmed_activity_default.apply_async(args=[activity["_id"]], eta=pull_confirmed_hours)
    
    #Then we kick off the normal notifications
    notification_tasks.new_activity(activity["_id"])
Exemple #2
0
def push_activity(aid):
    """
    Calls the push activity method to populate in users timelines
    """
    total_ids = Activity.push_activity(aid)
    pushed_to = []    
    if settings.RECORD_ACTIVITY_PUSH:
        for attr in ['friends', 'fofs', 'groups', 'network']:
            l = total_ids.get(attr, [])
            pushed_to  = pushed_to + l
            for f in l:
                logger.warning('push_activity aid:%s %s:%s' % (str(aid), attr, str(f)))
    #Send a 'gc' notification to tell the app to refresh get_content if it's open
    notification_tasks.push_gc(pushed_to)
    return "Pushing activity %s" %  aid