Search in sources :

Example 6 with Task

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());
    }
}
Also used : Task(com.pratilipi.taskqueue.Task) UserPratilipiEntity(com.pratilipi.data.type.gae.UserPratilipiEntity) PratilipiEntity(com.pratilipi.data.type.gae.PratilipiEntity) Pratilipi(com.pratilipi.data.type.Pratilipi) UserPratilipi(com.pratilipi.data.type.UserPratilipi)

Example 7 with Task

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);
}
Also used : Task(com.pratilipi.taskqueue.Task) UserData(com.pratilipi.data.client.UserData) LinkedList(java.util.LinkedList) Date(java.util.Date) Post(com.pratilipi.api.annotation.Post)

Example 8 with Task

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);
}
Also used : Task(com.pratilipi.taskqueue.Task) ArrayList(java.util.ArrayList)

Example 9 with 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();
}
Also used : Task(com.pratilipi.taskqueue.Task) HashMap(java.util.HashMap) GenericResponse(com.pratilipi.api.shared.GenericResponse) DataAccessor(com.pratilipi.data.DataAccessor) Async(com.pratilipi.common.util.Async) List(java.util.List) LinkedList(java.util.LinkedList) Notification(com.pratilipi.data.type.Notification) Get(com.pratilipi.api.annotation.Get)

Example 10 with Task

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();
}
Also used : Task(com.pratilipi.taskqueue.Task) GenericResponse(com.pratilipi.api.shared.GenericResponse) VoteData(com.pratilipi.data.client.VoteData) Post(com.pratilipi.api.annotation.Post)

Aggregations

Task (com.pratilipi.taskqueue.Task)13 GenericResponse (com.pratilipi.api.shared.GenericResponse)7 Date (java.util.Date)6 Get (com.pratilipi.api.annotation.Get)5 DataAccessor (com.pratilipi.data.DataAccessor)5 ArrayList (java.util.ArrayList)5 Post (com.pratilipi.api.annotation.Post)4 AppProperty (com.pratilipi.data.type.AppProperty)3 UserPratilipi (com.pratilipi.data.type.UserPratilipi)3 Key (com.googlecode.objectify.Key)2 UserData (com.pratilipi.data.client.UserData)2 Pratilipi (com.pratilipi.data.type.Pratilipi)2 PratilipiEntity (com.pratilipi.data.type.gae.PratilipiEntity)2 UserPratilipiEntity (com.pratilipi.data.type.gae.UserPratilipiEntity)2 LinkedList (java.util.LinkedList)2 Cursor (com.google.appengine.api.datastore.Cursor)1 Async (com.pratilipi.common.util.Async)1 PratilipiFilter (com.pratilipi.common.util.PratilipiFilter)1 RtdbAccessor (com.pratilipi.data.RtdbAccessor)1 AuthorData (com.pratilipi.data.client.AuthorData)1