Как сохранить работоспособность службы заданий, когда приложение закрыто из списка недавних задач пользователем?

Структурируйте свой код на несколько слоев, чтобы по крайней мере у вас было четкое представление.

Ваш DAO должен быть:

const Entry = require('models.js');

function getAll(callback){
   Entry.find({}).exec(function (err, data) {
      callback(err, data);
   });
}


function update(id, status, callback){
   Entry.findOneAndUpdate({
     _id: id
   }, {
      $push: {statuscheck: status}
   }).exec(function(err, update){
      console.log(update);
      callback(err, update);
   });
}

Ваш цикл for должен находиться в status.js:

DAO.getAll(function(err, data){
    for(var i =0; i< data.length; i++){
        checkAndUpdate(data[i].url, data[i].id);
    }

});

// This is seperate function to prevent "i" value to be overridden as your dependent on third party.
function checkAndUpdate(url, id){
    https.get(url, function (res) {
        DAO.update(id, res.statusCode, function(err, data){
            console.log("updated");
        });
    }).on('error', function (e) {
        console.error(e);
    });
}
1
задан Harris Ali 19 January 2019 в 15:18
поделиться

1 ответ

При выполнении вещи периодически в фоновом режиме & mdash; JobScheduler, WorkManager, AlarmManager, push-сообщения FCM и т. Д. & Mdash; Вы должны принять во внимание, что ваш процесс может отсутствовать, когда вам пора выполнять свою работу. Android раскроет вам процесс, но он «начинается с нуля». Все, что ваш пользовательский интерфейс мог установить в памяти, например, в базе данных, было бы для какого-то предыдущего процесса и не могло бы быть настроено в новом процессе.

0
ответ дан CommonsWare 19 January 2019 в 15:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: