# Jobs in Enqueue state, most never run

**URL:** <https://discuss.hangfire.io/t/jobs-in-enqueue-state-most-never-run/2367>\
**Category:** moved to github\
**Tags:** sql-server\
**Created:** [August 25, 2016, 8:02pm UTC](https://discuss.hangfire.io/t/jobs-in-enqueue-state-most-never-run/2367 "2016-08-25T20:02:14Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![odinserj](https://dub1.discourse-cdn.com/flex017/user_avatar/discuss.hangfire.io/odinserj/32/648_2.png) [@odinserj](https://discuss.hangfire.io/u/odinserj)\
**Post date:** [August 30, 2016, 4:51pm UTC](https://discuss.hangfire.io/t/jobs-in-enqueue-state-most-never-run/2367/4 "2016-08-30T16:51:04Z")

</div>

@KeithBarrows, if you are using instance methods, always use the `.Enqueue<T>` method overloads:

```auto
// This is for instance methods
/// Place [Queue] attribute to the IJob.Execute method
BackgroundJob.Enqueue<IJob>(x => x.Execute("payload"));

// This is for static methods
BackgroundJob.Enqueue(() => Program.Main());

```

**Never** use the following construct, as it even does not make any sense, because of unnecessary creation of the `Job` class instance.

```auto
// Don't do this at home
var job = new Job();
BackgroundJob.Enqueue(() => job.Execute());

```

---

_[View the full topic](https://discuss.hangfire.io/t/jobs-in-enqueue-state-most-never-run/2367)._
