6

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?

2 Answers 2

10

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.


7
  • 1
    How did you get round the 'Method is not implemented.' Error? Sandbox? Dec 4, 2014 at 8:40
  • @TimChadwick raise a case to Salesforce and ask them to turn the good stuff on. Dec 4, 2014 at 8:45
  • Haha right'O ta Dec 4, 2014 at 8:46
  • But how do you distinguish between being in a batch job and a queued job? :)
    – kbentsen
    Jun 22, 2015 at 23:21
  • @kbentsen if (context instanceof QueueableContext) ... Jun 23, 2015 at 9:24
0

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .