use rpop/rpush from redis, change it later into pubsub
make abstract class for jobs