AEM Scheduler running even if scheduler is disabled and Bundle is stopped

Avatar

Avatar

sg08

Avatar

sg08

sg08

02-06-2020

Hi,

 

I had created a custom scheduler for sending emails based on inbox tasks in aem. It was working properly until a day ago when suddenly, even if the scheduler is disabled, and the bundle is stopped, it is still somehow running and I get emails for newly created tasks. But in the project logs it shows that the scheduler has been stopped and no evidence of the code being executed. So a different scheduler is somehow still running and it is not part of this bundle?

Please let me know how I should go about fixing this issue and finding/stopping that scheduler. 

 

Thanks.

Adobe Experience Manager AEM AEM 6.5 bundle Configuration osgi scheduler scheduling

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Nupur_Jain

MVP

Avatar

Nupur_Jain

MVP

Nupur_Jain
MVP

02-06-2020

Hi @sg08 

 

Scheduler or we can say thread can still run even if the bundle is down. We have to remove scheduler on deactivation of scheduler service. You can remove it in @Deactivate annotated method of your service. Find the sample snippet:

 

@Component(immediate = true)
public class TestScheduler implements Runnable {

    @Reference
    private Scheduler scheduler;

    private String schedulerId = "Scheduler";
    
    @Activate
    @Modified
    protected void activate() {
        addScheduler();
    }

    @Deactivate
    protected void deactivate() {
        removeScheduler();
    }

    private void removeScheduler() {
        scheduler.unschedule(String.valueOf(schedulerId));
    }

    private void addScheduler() {
        ScheduleOptions scheduleOptions = scheduler
                .EXPR("");
        scheduleOptions.name(String.valueOf(schedulerId));
        scheduler.schedule(this, scheduleOptions);
    }

    @Override
    public void run() {
    	//what needs to be done
    }

}

 

Hope it helps!

Answers (4)

Answers (4)

Avatar

Avatar

Nupur_Jain

MVP

Avatar

Nupur_Jain

MVP

Nupur_Jain
MVP

02-06-2020

@sg08 

 

There is system console to check for registered schedulers.

Access http://host:port/system/console/status-slingscheduler to check if you see your scheduler there.

Avatar

Avatar

Manish_Singh_1

Employee

Avatar

Manish_Singh_1

Employee

Manish_Singh_1
Employee

02-06-2020

Few steps:

 

1. Check if the scheduler is active from /system/console/status-slingscheduler. 

2. If not active then, Restart AEM

3. Check if you are using a workflow step which may be sending emails 

 

if not then open a support ticket for further investigation

Avatar

Avatar

Singaiah_Chintalapudi

MVP

Avatar

Singaiah_Chintalapudi

MVP

Singaiah_Chintalapudi
MVP

02-06-2020

You can check existing jobs under:/var/evening/jobs and also check the scheduler config under: /system/console/configMgr just to make sure the scheduler is disabled or removed.

Avatar

Avatar

Veena_Vikram

MVP

Avatar

Veena_Vikram

MVP

Veena_Vikram
MVP

02-06-2020

Can you check if there is any active jobs running ? If you check /var/eventing/jobs , may be you can find any active jobs running.