A worker is just a name given to a Dyno. You usually have a web
Dyno, but you can create others in your Procfile
and give them arbitrary names.
Many processes can be spawned by one Dyno. For example, the Unicorn web server does this.
You might be able to use Rufus Scheduler for what you need to do, but I think it would be more sensible to use a separate worker Dyno.