title: Azure WebJobs - No functions found - How do I make a trigger-less job?
body: <p>I'm new to Azure WebJobs, I've run a sample where a user uploads an image to blob storage and inserts a record into the Queue, then the job retrieves that from the queue as a signal to do something like resizing the uploaded image. Basically in the code the job uses <code>QueueTrigger</code> attribute on a public static method to do all that.</p>
  
  <p>Now I need a job that just does something like inserting a record into a database table every hour, it does not have any type of trigger, it just runs itself.  How do I do this?</p>
  
  <p>I tried to have a static method and in it I do the insert to db, the job did start but I got a message saying:</p>
  
  <blockquote>
    <p>No functions found. Try making job classes public and methods public
    static.</p>
  </blockquote>
  
  <p>What am I missing?</p>
  
  <p><strong>Edit</strong>
  After Victor's answer I tried the following,</p>
  
  <pre class="lang-csharp prettyprint-override"><code>static void Main()
  {
      JobHost host = new JobHost();
      host.Call(typeof(Program).GetMethod("ManualTrigger"));
  }
  
  [NoAutomaticTrigger]
  public static void ManualTrigger()
  {
      // insert records to db
  }
  </code></pre>
  
  <p>but this time I got <code>InvalidOperationException</code>, </p>
  
  <blockquote>
    <p>'Void ManualTrigger()' can't be invoked from Azure WebJobs SDK. Is it missing Azure WebJobs SDK attributes?</p>
  </blockquote>