#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. Подключаемый модуль в основном просто получает широту и долготу устройств