refactor gearman module
Adding gearman support