Is it possible to call a future static callout method from a scheduler





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1















I have a static callout which i want to schedule every 5 minutes. How would i approach this I have tried the following but the the incorrect signature error:



Callout



public class or_service { 
@future(callout=true)
public static void getleads() {
if(doCallout) {
Http http = new Http();
HttpRequest request = new HttpRequest();
..
}
}
}


Scheduler



public class or_scheduleLeads implements Schedulable {
public void execute(SchedulableContext context) {
System.abortJob(context.getTriggerId());
String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
//System.schedule('Name', sch, class);
System.schedule('or_scheduleLeads-'+DateTime.now(), sch, or_service.getleads());
}
}









share|improve this question


















  • 1





    This sounds a little x-y ish to me. What are you trying to accomplish every five minutes?

    – David Reed
    Dec 28 '18 at 12:44













  • @DavidReed Pranay explained where my confusion was down below. Thanks

    – Thomas
    Dec 28 '18 at 13:14


















1















I have a static callout which i want to schedule every 5 minutes. How would i approach this I have tried the following but the the incorrect signature error:



Callout



public class or_service { 
@future(callout=true)
public static void getleads() {
if(doCallout) {
Http http = new Http();
HttpRequest request = new HttpRequest();
..
}
}
}


Scheduler



public class or_scheduleLeads implements Schedulable {
public void execute(SchedulableContext context) {
System.abortJob(context.getTriggerId());
String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
//System.schedule('Name', sch, class);
System.schedule('or_scheduleLeads-'+DateTime.now(), sch, or_service.getleads());
}
}









share|improve this question


















  • 1





    This sounds a little x-y ish to me. What are you trying to accomplish every five minutes?

    – David Reed
    Dec 28 '18 at 12:44













  • @DavidReed Pranay explained where my confusion was down below. Thanks

    – Thomas
    Dec 28 '18 at 13:14














1












1








1








I have a static callout which i want to schedule every 5 minutes. How would i approach this I have tried the following but the the incorrect signature error:



Callout



public class or_service { 
@future(callout=true)
public static void getleads() {
if(doCallout) {
Http http = new Http();
HttpRequest request = new HttpRequest();
..
}
}
}


Scheduler



public class or_scheduleLeads implements Schedulable {
public void execute(SchedulableContext context) {
System.abortJob(context.getTriggerId());
String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
//System.schedule('Name', sch, class);
System.schedule('or_scheduleLeads-'+DateTime.now(), sch, or_service.getleads());
}
}









share|improve this question














I have a static callout which i want to schedule every 5 minutes. How would i approach this I have tried the following but the the incorrect signature error:



Callout



public class or_service { 
@future(callout=true)
public static void getleads() {
if(doCallout) {
Http http = new Http();
HttpRequest request = new HttpRequest();
..
}
}
}


Scheduler



public class or_scheduleLeads implements Schedulable {
public void execute(SchedulableContext context) {
System.abortJob(context.getTriggerId());
String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
//System.schedule('Name', sch, class);
System.schedule('or_scheduleLeads-'+DateTime.now(), sch, or_service.getleads());
}
}






apex scheduled-apex future method static






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Dec 28 '18 at 12:26









ThomasThomas

738418




738418








  • 1





    This sounds a little x-y ish to me. What are you trying to accomplish every five minutes?

    – David Reed
    Dec 28 '18 at 12:44













  • @DavidReed Pranay explained where my confusion was down below. Thanks

    – Thomas
    Dec 28 '18 at 13:14














  • 1





    This sounds a little x-y ish to me. What are you trying to accomplish every five minutes?

    – David Reed
    Dec 28 '18 at 12:44













  • @DavidReed Pranay explained where my confusion was down below. Thanks

    – Thomas
    Dec 28 '18 at 13:14








1




1





This sounds a little x-y ish to me. What are you trying to accomplish every five minutes?

– David Reed
Dec 28 '18 at 12:44







This sounds a little x-y ish to me. What are you trying to accomplish every five minutes?

– David Reed
Dec 28 '18 at 12:44















@DavidReed Pranay explained where my confusion was down below. Thanks

– Thomas
Dec 28 '18 at 13:14





@DavidReed Pranay explained where my confusion was down below. Thanks

– Thomas
Dec 28 '18 at 13:14










1 Answer
1






active

oldest

votes


















3














The method signature of System.schedule is improper,



The correct signature is



schedule(jobName, cronExpression, schedulableClassInstance)


SO your code will be



public class or_scheduleLeads implements Schedulable {
public void execute(SchedulableContext context) {
System.abortJob(context.getTriggerId());
String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
//Calling Future Methods
or_service.getleads();
System.schedule('or_scheduleLeads-'+DateTime.now(), sch, new or_scheduleLeads()));
}
}


src: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_system.htm#apex_System_System_schedule






share|improve this answer
























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "459"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f244909%2fis-it-possible-to-call-a-future-static-callout-method-from-a-scheduler%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    The method signature of System.schedule is improper,



    The correct signature is



    schedule(jobName, cronExpression, schedulableClassInstance)


    SO your code will be



    public class or_scheduleLeads implements Schedulable {
    public void execute(SchedulableContext context) {
    System.abortJob(context.getTriggerId());
    String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
    //Calling Future Methods
    or_service.getleads();
    System.schedule('or_scheduleLeads-'+DateTime.now(), sch, new or_scheduleLeads()));
    }
    }


    src: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_system.htm#apex_System_System_schedule






    share|improve this answer




























      3














      The method signature of System.schedule is improper,



      The correct signature is



      schedule(jobName, cronExpression, schedulableClassInstance)


      SO your code will be



      public class or_scheduleLeads implements Schedulable {
      public void execute(SchedulableContext context) {
      System.abortJob(context.getTriggerId());
      String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
      //Calling Future Methods
      or_service.getleads();
      System.schedule('or_scheduleLeads-'+DateTime.now(), sch, new or_scheduleLeads()));
      }
      }


      src: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_system.htm#apex_System_System_schedule






      share|improve this answer


























        3












        3








        3







        The method signature of System.schedule is improper,



        The correct signature is



        schedule(jobName, cronExpression, schedulableClassInstance)


        SO your code will be



        public class or_scheduleLeads implements Schedulable {
        public void execute(SchedulableContext context) {
        System.abortJob(context.getTriggerId());
        String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
        //Calling Future Methods
        or_service.getleads();
        System.schedule('or_scheduleLeads-'+DateTime.now(), sch, new or_scheduleLeads()));
        }
        }


        src: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_system.htm#apex_System_System_schedule






        share|improve this answer













        The method signature of System.schedule is improper,



        The correct signature is



        schedule(jobName, cronExpression, schedulableClassInstance)


        SO your code will be



        public class or_scheduleLeads implements Schedulable {
        public void execute(SchedulableContext context) {
        System.abortJob(context.getTriggerId());
        String sch = '0 '+DateTime.now().addMinutes(5).minute()+' */1 ? * *';
        //Calling Future Methods
        or_service.getleads();
        System.schedule('or_scheduleLeads-'+DateTime.now(), sch, new or_scheduleLeads()));
        }
        }


        src: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_system.htm#apex_System_System_schedule







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 28 '18 at 12:32









        Pranay JaiswalPranay Jaiswal

        18.8k53158




        18.8k53158






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Salesforce Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f244909%2fis-it-possible-to-call-a-future-static-callout-method-from-a-scheduler%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Le Mesnil-Réaume

            Ida-Boy-Ed-Garten

            web3.py web3.isConnected() returns false always