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))
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))
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))