| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package info.knacki.prometheusandroidexporter;
- import android.app.Service;
- import android.content.Intent;
- import android.os.IBinder;
- import androidx.annotation.Nullable;
- import androidx.work.PeriodicWorkRequest;
- import androidx.work.WorkManager;
- import java.io.IOException;
- import java.util.concurrent.TimeUnit;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import info.knacki.prometheusandroidexporter.collector.TestCollector;
- public class MainService extends Service {
- public MainService() {
- }
- @Override
- public void onCreate() {
- InitCollectors(CollectorManager.GetInstance());
- ScheduleCollection();
- try {
- HttpService.Register(getApplicationContext());
- }
- catch (IOException e) {
- Logger.getLogger(MainService.class.getName()).log(Level.SEVERE, "Cannot start server: ", e);
- }
- }
- @Nullable
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
- private void InitCollectors(CollectorManager manager) {
- manager.RegisterCollector(new TestCollector());
- }
- private void ScheduleCollection() {
- PeriodicWorkRequest job = new PeriodicWorkRequest.Builder(CollectorWorker.class, 15, TimeUnit.MINUTES).build();
- WorkManager.getInstance(this).enqueue(job);
- }
- }
|