use of com.pratilipi.taskqueue.Task in project pratilipi by Pratilipi.
the class DataStoreCleanupUtil method migratePratilipi.
public static void migratePratilipi(Long fromAuthorId, Long toAuthorId) {
QueryResultIterator<PratilipiEntity> iterator = ObjectifyService.ofy().load().type(PratilipiEntity.class).filter("AUTHOR_ID", fromAuthorId).chunk(100).iterator();
while (iterator.hasNext()) {
Pratilipi pratilipi = iterator.next();
pratilipi.setAuthorId(toAuthorId);
ObjectifyService.ofy().save().entity(pratilipi).now();
Task task1 = TaskQueueFactory.newTask().setUrl("/author/process").addParam("authorId", fromAuthorId.toString()).addParam("processData", "true").addParam("updateStats", "true");
TaskQueueFactory.getAuthorTaskQueue().add(task1);
Task task2 = TaskQueueFactory.newTask().setUrl("/pratilipi/process").addParam("pratilipiId", pratilipi.getId().toString()).addParam("processData", "true").addParam("updateStats", "true");
TaskQueueFactory.getPratilipiTaskQueue().add(task2);
System.out.println("Migrating Pratilipi: " + pratilipi.getId());
}
}
use of com.pratilipi.taskqueue.Task in project pratilipi by Pratilipi.
the class UserLoginFacebookApi method post.
@Post
public UserV1Api.Response post(PostRequest request) throws InvalidArgumentException, InsufficientAccessException, UnexpectedServerException {
UserData userData = UserDataUtil.loginFacebookUser(request.fbUserAccessToken, UserDataUtil.getUserSignUpSource(true, false));
List<Task> taskList = new LinkedList<>();
if (new Date().getTime() - userData.getSignUpDate().getTime() <= 60000) {
Long authorId = AuthorDataUtil.createAuthorProfile(userData, request.language == null ? UxModeFilter.getFilterLanguage() : request.language);
// Fetching updated UserData
userData = UserDataUtil.getCurrentUser();
if (userData.getEmail() != null) {
// Send welcome mail to the user
/*
Task welcomeMailTask = TaskQueueFactory.newTask()
.setUrl( "/user/email" )
.addParam( "userId", userData.getId().toString() )
.addParam( "language", ( request.language == null ? ( UxModeFilter.getDisplayLanguage() == null ? Language.ENGLISH : UxModeFilter.getDisplayLanguage() ) : request.language ).toString() )
.addParam( "sendWelcomeMail", "true" );
taskList.add( welcomeMailTask );
*/
}
// Process Author data
/*
Task task = TaskQueueFactory.newTask()
.setUrl( "/author/process" )
.addParam( "authorId", authorId.toString() )
.addParam( "processData", "true" );
TaskQueueFactory.getAuthorTaskQueue().add( task );
*/
}
return new UserV1Api.Response(userData, UserLoginFacebookApi.class);
}
use of com.pratilipi.taskqueue.Task in project pratilipi by Pratilipi.
the class ConversationDataUtil method createSupportMailTask.
private static void createSupportMailTask(List<String> receiversList, String userId, String name, String email, String phone, String message, JsonObject data, String team, String language) throws UnsupportedEncodingException, UnexpectedServerException {
// Preparing report data
String reportString = "", subject = "", type;
if (data != null) {
type = data.get(TYPE).getAsString();
if (type.toLowerCase().equals("pratilipi")) {
subject = "REPORTED PRATILIPI";
reportString = "Reported Pratilipi Id : " + data.get(ID).getAsString() + "<br>";
} else {
subject = "REPORTED AUTHOR";
reportString = "Reported Author Id : " + data.get(ID).getAsString() + "<br>";
}
}
if (subject.isEmpty())
subject = team;
subject = subject + " :: " + language + " :: " + email;
Logger.getLogger(ConversationDataUtil.class.getSimpleName()).log(Level.SEVERE, "Subject : " + subject);
String body = "User Name : " + name + "<br>" + "Email : " + email + "<br>" + "Phone Number : " + phone + "<br>" + "User Id : " + userId + "<br>" + "Language : " + language + "<br>" + reportString + "Message : " + message;
Logger.getLogger(ConversationDataUtil.class.getSimpleName()).log(Level.SEVERE, "Body : " + body);
ArrayList<String> cc = new ArrayList<>();
cc.add("ranjeet@pratilipi.com");
cc.add("abhishek@pratilipi.com");
logger.log(Level.INFO, "CC : " + cc.toString());
logger.log(Level.INFO, "TO : " + receiversList.toString());
// CREATING TASK QUEUE FOR EMAIL.
Task task = TaskQueueFactory.newTask().setUrl("/contact/email").addParam("body", body).addParam("subject", subject).addParam("receivers", receiversList.toString()).addParam("cc", cc.toString());
TaskQueueFactory.getConversationTaskQueue().add(task);
}
use of com.pratilipi.taskqueue.Task in project pratilipi by Pratilipi.
the class NotificationProcessApi method get.
@Get
public GenericResponse get(GenericRequest request) throws UnexpectedServerException {
DataAccessor dataAccessor = DataAccessorFactory.getDataAccessor();
List<Notification> notifList = dataAccessor.getNotificationListWithFcmPending(1000);
logger.log(Level.INFO, "Total pending notifications = " + notifList.size());
Map<Long, List<Notification>> userIdNotifListMap = new HashMap<>();
for (Notification notif : notifList) {
List<Notification> userNotifList = userIdNotifListMap.get(notif.getUserId());
if (userNotifList == null) {
userNotifList = new LinkedList<>();
userIdNotifListMap.put(notif.getUserId(), userNotifList);
}
userNotifList.add(notif);
}
for (final Entry<Long, List<Notification>> entry : userIdNotifListMap.entrySet()) {
Async async = new Async() {
@Override
public void exec() {
for (Notification notif : entry.getValue()) {
Task task = TaskQueueFactory.newTask().setUrl("/notification/process").addParam("notificationId", notif.getId().toString());
TaskQueueFactory.getNotificationTaskQueue().add(task);
logger.log(Level.INFO, "Task created for notification id " + notif.getId());
}
}
};
NotificationDataUtil.updateFirebaseDb(entry.getKey(), entry.getValue(), async);
}
return new GenericResponse();
}
use of com.pratilipi.taskqueue.Task in project pratilipi by Pratilipi.
the class VoteApi method post.
@Post
public GenericResponse post(PostRequest request) throws InvalidArgumentException, InsufficientAccessException {
VoteData voteData = VoteDataUtil.saveVoteData(AccessTokenFilter.getAccessToken().getUserId(), request.parentType, request.parentId, request.type);
if (voteData.getReferenceType() == ReferenceType.PRATILIPI) {
Task task = TaskQueueFactory.newTask().setUrl("/pratilipi/process").addParam("pratilipiId", voteData.getReferenceId()).addParam("updateReviewsDoc", "true");
TaskQueueFactory.getPratilipiTaskQueue().add(task);
}
return new GenericResponse();
}
Aggregations