Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用cron或延迟作业设置用户入职电子邮件?_Ruby On Rails_Ruby On Rails 4_Cron_Actionmailer_Delayed Job - Fatal编程技术网

Ruby on rails 如何使用cron或延迟作业设置用户入职电子邮件?

Ruby on rails 如何使用cron或延迟作业设置用户入职电子邮件?,ruby-on-rails,ruby-on-rails-4,cron,actionmailer,delayed-job,Ruby On Rails,Ruby On Rails 4,Cron,Actionmailer,Delayed Job,我正在尝试向尚未完成注册过程的用户发送电子邮件提醒。注册过程分为三个不同阶段: 1. input for interested users (this will redirect them to a registration section) 2. registration section (this will redirect them to set-up profile) 3. set-up profile 如果用户没有继续到流程的下一阶段,我希望发送电子邮件提醒: 1. aft

我正在尝试向尚未完成注册过程的用户发送电子邮件提醒。注册过程分为三个不同阶段:

 1. input for interested users (this will redirect them to a registration section)
 2. registration section  (this will redirect them to set-up profile)
 3. set-up profile
如果用户没有继续到流程的下一阶段,我希望发送电子邮件提醒:

 1. after 18 hrs
 2. after 1 days
 3. after 4 days
我听说过CRON(gem)和延迟作业,但不知道该使用哪一个。最重要的是为什么我应该选择一个而不是另一个


如果可能,请提供一个例子

我会写一个脚本,包含所有的时间逻辑、发送什么电子邮件、发送给谁等等。
然后每24小时安排一次cronjob来运行脚本。不要试图使用cronjobs来确定发送消息的时间。

那么,您选择其中一个而不是另一个的原因应该基于您正在尝试做什么以及您是如何做的。作为一名开发人员,我会创建新的分支,并尝试使用这两种gem,看看哪一种更适合您和您的应用程序


仅供参考。Heroku不支持创业板,我相信延迟就业是有可能的。这可能是您的决定因素。

我建议您编写一个函数来检查未完成的注册。然后在服务器上,每18小时、1天和4天(一行脚本)运行一次cron作业

此cron作业与调用控制器一起触发发送提醒电子邮件的功能。
您也可以使用sidekiq作为发送电子邮件的后台处理器。

为什么您决定使用cron来处理延迟的作业?我想我可以在Heroku上使用Everyone gem。在某些情况下,其中一个是否比另一个表现更好?这就是您要寻找的: