To go with the new System.Queueable interface, I'm looking for the analogy of:
System.isBatch()
System.isFuture()
System.isScheduled()
Is there a System.isQueued()
or something?
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It only takes a minute to sign up.
Sign up to join this communityTo go with the new System.Queueable interface, I'm looking for the analogy of:
System.isBatch()
System.isFuture()
System.isScheduled()
Is there a System.isQueued()
or something?
Spring '16 brings us a new method:
System.isQueueable()
which takes care of this requirement.
releasenotes.salesforce.com/en-us/spring16/release-notes/rn_apex_new_classes_methods.htm
As of Spring '16, isBatch()
does NOT return true
from inside Queueable
implementation.
I think that better is option is use this query, to veryfy if your class is in the queue
SELECT Id, ApexClassId from AsyncApexJob WHERE JobType = 'Queueable' AND Status = 'Queued' AND ApexClassId in (SELECT Id FROM ApexClass WHERE NAME = 'Imp')
Regards