Architecture for Job Logic w/ Hangfire

Do any of you use Hangfire as the basis for a more generic job scheduler (an application that replaces what you might do with the Windows scheduler or SSIS or something)?

If you do, how did you architect the jobs that Hangfire executes?

Example:

  1. code is in the same project as your Hangfire server. If you need a new job you just write a new class. It gets compiled and redeployed to the server. This seems wrong.
  2. code is in script file or something, and enquing a job runs this script somehow. How?
  3. no job logic is on the server. Jobs just call Rest services or something that live somewhere else