APEX PWA продолжает работать в фоновом режиме телефонов

#oracle #oracle-apex #oracle-apex-5

#Oracle #oracle-apex #oracle-apex-5

Вопрос:

Мне нужен способ для моего приложения apex, которое я превратил в PWA, чтобы продолжать синхронизировать местоположение пользователя в фоновом режиме, даже если приложение закрыто, есть идеи

Ответ №1:

Не делайте этого в Apex. Это интерфейсное приложение, оно не может работать, когда оно не работает (я умный или что?).

Я бы посоветовал вам перенести этот процесс «синхронизации» в базу данных. Способ делать это регулярно — запланировать его как задание базы данных. Для этого используйте DBMS_SCHEDULER (или более старый DBMS_JOB ) пакет. Например:

 begin
  dbms_scheduler.create_job (
    job_name    => 'sync_person_location',
    job_type    => 'PLSQL_BLOCK',
    job_action  => 'BEGIN p_synchronize; end;',
    start_date  => to_timestamp_tz ('30.01.2021 02:00 Europe/Zagreb',
                                    'dd.mm.yyyy hh24:mi TZR'),
    repeat_interval  => 'FREQ=DAILY; BYDAY=MON,TUE,WED,THU,FRI; BYHOUR=8,9,10,11,12,13,14,15,16; BYMINUTE=5',
    enabled     => true,
    comments    => 'Sync every 5 minutes during work hours from MON to FRI');
end;
/ 
 

В Apex обновление страницы (отчета?) покажет, что подготовлено новое задание базы данных данных.

Комментарии:

1. но если бы я это сделал, как бы я смог получить местоположение людей, потому что в настоящее время я использую плагин в apex, который получает широту и долготу людей с помощью динамического действия, а затем сохраняет его в элементе страницы

2. Я не знаю вашу модель данных и не знаю, что делает подключаемый модуль. Если возможно, сохраните широту и долготу в базе данных (что означает, что вы, вероятно, полностью пропустите подключаемый модуль) и извлеките эту информацию непосредственно из таблицы (для этого вы все равно можете использовать dynamic action).

3. Подключаемый модуль в основном просто получает широту и долготу устройств