예제 #1
0
def run_tasks(APIS):
    config.ECHO_NEST_API_KEY = ECHO_NEST_KEY

    csvDatastreamTasks = CSVDatastreamTasks()
    celery = Celery('bittrails_tasks', broker='amqp://guest@localhost//')
    tasks = {
        'twitter': TwitterTasks,
        'lastfm': LastfmTasks,
        'google': GoogleTasks
    }
    users = User.get_collection().find()

    for user in users:
        uids = UID.get_collection().find({'user_id': ObjectId(user['_id'])})

        for uid in uids:
            if uid['datastream'] in tasks:
                task = tasks[uid['datastream']](user,
                                                uid['uid'],
                                                api=APIS[uid['datastream']])
                task.run()

        # Custom datastreams
        custom_streams = CustomTimeSeriesPath.find({
            'url': {
                '$exists': True
            },
            'user_id':
            ObjectId(user['_id'])
        })

        for stream in custom_streams:
            csvDatastreamTasks.run(stream)
예제 #2
0
def run_tasks():
    celery = Celery('bittrails_tasks', broker='amqp://guest@localhost//')
    
    users = User.get_collection().find()
    
    for user in users:
        uids = UID.get_collection().find({'user_id': ObjectId(user['_id'])})
        
        if uids.count() > 0:
            posts = LastPostRetrieved.get_collection().find({
                '$or': [{'datastream': row['datastream'],
                         'uid': row['uid']} for row in uids]
            })
            available_datastreams = [post['datastream'] for post in posts]
            # Cycle through every class that inherits from CorrelationTask
            # in tasks.py, instantiate it, and run it.
            for task_class in CorrelationTask.__subclasses__():
                task = task_class(user, available_datastreams)
                task.run()
예제 #3
0
def run_tasks():
    celery = Celery('bittrails_tasks', broker='amqp://guest@localhost//')

    users = User.get_collection().find()

    for user in users:
        uids = UID.get_collection().find({'user_id': ObjectId(user['_id'])})

        if uids.count() > 0:
            posts = LastPostRetrieved.get_collection().find({
                '$or': [{
                    'datastream': row['datastream'],
                    'uid': row['uid']
                } for row in uids]
            })
            available_datastreams = [post['datastream'] for post in posts]
            # Cycle through every class that inherits from CorrelationTask
            # in tasks.py, instantiate it, and run it.
            for task_class in CorrelationTask.__subclasses__():
                task = task_class(user, available_datastreams)
                task.run()
예제 #4
0
def run_tasks(APIS):
    config.ECHO_NEST_API_KEY = ECHO_NEST_KEY
    
    csvDatastreamTasks = CSVDatastreamTasks()
    celery = Celery('bittrails_tasks', broker='amqp://guest@localhost//')
    tasks = { 'twitter': TwitterTasks, 'lastfm': LastfmTasks, 'google': GoogleTasks }
    users = User.get_collection().find()
        
    for user in users:
        uids = UID.get_collection().find({'user_id': ObjectId(user['_id'])})
        
        for uid in uids:
            if uid['datastream'] in tasks:
                task = tasks[uid['datastream']](
                    user, uid['uid'], api = APIS[uid['datastream']])
                task.run()
                
        # Custom datastreams
        custom_streams = CustomTimeSeriesPath.find(
            {'url': {'$exists': True}, 'user_id': ObjectId(user['_id'])})
        
        for stream in custom_streams:
            csvDatastreamTasks.run(stream)