예제 #1
0
def fanout_newsfeeds_batch_task(tweet_id, created_at, follower_ids):
    # import 写在里面避免循环依赖
    from newsfeeds.services import NewsFeedService
    batch_params = [
        {'user_id': follower_id, 'created_at': created_at, 'tweet_id': tweet_id}
        for follower_id in follower_ids
    ]
    newsfeeds = NewsFeedService.batch_create(batch_params)
    return "{} newsfeeds created".format(len(newsfeeds))
예제 #2
0
def fanout_newsfeeds_batch_task(tweet_id, created_at, follower_ids):
    # we put import inside to avoid circular dependency
    from newsfeeds.services import NewsFeedService

    batch_params = [
        {'user_id': follower_id, 'created_at': created_at, 'tweet_id': tweet_id}
        for follower_id in follower_ids
    ]
    newsfeeds = NewsFeedService.batch_create(batch_params)

    return "{} newsfeeds created".format(len(newsfeeds))
예제 #3
0
def fanout_newsfeeds_batch_task(tweet_id, created_at, follower_ids):
    # import to prevent cycle dependence
    from newsfeeds.services import NewsFeedService

    # wrong method, put DB operation in for
    #for follower_id in follower_ids:
    #    Newsfeed.objects.create(user_id=follower_id, tweet_id=tweet_id)

    # right method
    # bulk_create
    batch_params = [{
        'user_id': follower_id,
        'created_at': created_at,
        'tweet_id': tweet_id
    } for follower_id in follower_ids]
    newsfeeds = NewsFeedService.batch_create(batch_params)
    return '{} newsfeeds created'.format(len(newsfeeds))