diff --git a/lib/helpers/utils.js b/lib/helpers/utils.js
index <HASH>..<HASH> 100644
--- a/lib/helpers/utils.js
+++ b/lib/helpers/utils.js
@@ -27,3 +27,9 @@ module.exports.pushIfNotExist = function (type, array, value) {
 
   return array;
 };
+
+module.exports.timeoutPromise = (timer) => {
+  return new Promise((resolve) => {
+    setTimeout(resolve, timer);
+  });
+};
diff --git a/lib/producer.js b/lib/producer.js
index <HASH>..<HASH> 100644
--- a/lib/producer.js
+++ b/lib/producer.js
@@ -132,7 +132,10 @@ var produce = function(queue, msg, options) {
   })
   .catch(function (err) {
     Logger.error('[BMQ-PRODUCER]', err);
-    return produce(queue, msg, options);
+    return utils.timeoutPromise(1000)
+      .then(() => {
+        return produce(queue, msg, options);
+      });
   });
 };
Add a timer on messages to not overflow CPU when connection is lost