d4b3ba4baa
* [#139] Delayed emails for conversations * Added the setex and get methods to Redis wrapper * Set the priorities for the sidekiq queues * Was not able to use mailhog for testing email in local, switched back to letter opener and added comments on using the SMTP settings * Added after create hood in messages to queue the sending of mail after 2 minutes using sidekiq worker and also set the redis key for the conversation to avoid the email sending for every message * Added the sidekiq worker to send the email and delete the conversation redis key * Added the mailer and mail template * mailer sends the last 10 messages along with the new messages from the time it was queued * Send email only in development or if smtp config is set * Send email only in development or if smtp config is set * Set the SMTP_PORT in production variable * Adding redis to circle CI * Specs for the conversation email changes * Added specs for conversation email sidekiq worker * Added specs for conversation mailer * Added specs in message model for the after create hook for notify email * Send emails only when there is a reply from agent * set development to use mailhog * Adding comments for using letter opener
29 lines
536 B
Ruby
29 lines
536 B
Ruby
module Redis::Alfred
|
|
CONVERSATION_MAILER_KEY = 'CONVERSATION::%d'.freeze
|
|
|
|
class << self
|
|
def rpoplpush(source, destination)
|
|
$alfred.rpoplpush(source, destination)
|
|
end
|
|
|
|
def lpush(key, value)
|
|
$alfred.lpush(key, value)
|
|
end
|
|
|
|
def delete(key)
|
|
$alfred.del(key)
|
|
end
|
|
|
|
def lrem(key, value, count = 0)
|
|
$alfred.lrem(key, count, value)
|
|
end
|
|
|
|
def setex(key, value, expiry = 1.day)
|
|
$alfred.setex(key, expiry, value)
|
|
end
|
|
|
|
def get(key)
|
|
$alfred.get(key)
|
|
end
|
|
end
|
|
end
|