Расписание Pu sh уведомлений о разборе - PullRequest
1 голос
/ 04 апреля 2020

Мне было интересно, доступно ли расписание Pu sh на Parse Server? (Я использую Back4App)

Вот мой облачный код:

Parse.Cloud.define("pushMultiple",async (request) => {  
    //Getting Current Date instance
    var d = new Date();
    //Where I live Current Hour is 14, so setting it to 15
    d.setHours(15);     
    //Sending push to a specific device
    return Parse.Push.send({
            push_time: d,
            channels: [ "t1g.com"],
            data: {alert: "The Giants won against the Mets 2-3."}   
            },{ useMasterKey: true });
});

Но, похоже, код не работает. Pu sh отправляется немедленно.

И если это невозможно, пожалуйста, дайте мне знать, как я могу запланировать pu sh, используя облачное задание. Фрагмент кода был бы очень полезен. Также остановится ли облачное задание после завершения отправки pu sh?

Обновление :

Пока я использую это как обходной путь, и оно кажется, работает.

// I call this cloud code
Parse.Cloud.define("pushMultiple",async (request) => {
//Using set timeout to send out a push 60 seconds after
  setTimeout(pushout,60000);
});

//The function to send Notificaiton 
const pushout = () => {
        Parse.Push.send({
          channels: [ "t1g.com"],
          data: {alert: "The Giants won against the Mets 2-3."}
         },{ useMasterKey: true });
}

Пожалуйста, скажите мне, если то, что я делаю, в любом случае неправильно или вредно, или если есть лучший способ сделать это ?? И если мой обходной путь - путь к go, сколько setTimeouts может быть поставлено в очередь ???

1 Ответ

2 голосов
/ 04 апреля 2020

Согласно этот метод документа setHours не добавляет ваше значение к вашей дате, а просто заменяет его.

Попробуйте:

var extraTime = 1000*60*60*15; //15 hours
var currentDate = new Date();
//since date object is just number we can add our extra time to our date.
var pushDate = currentDate + extraTime; //push date is 15 hours later than now

return Parse.Push.send({
            push_time: pushDate,
            channels: [ "t1g.com"],
            data: {alert: "The Giants won against the Mets 2-3."}   
            },{ useMasterKey: true });

Редактировать: Parse docs говорит push_time пока не поддерживается. https://docs.parseplatform.org/parse-server/guide/#push -notifications

Документы могут быть устаревшими или, если вы используете back4app, они могут реализовать эту функцию на своих серверах.

...