Daemoninsing a rake task

前端 未结 4 1642
遥遥无期
遥遥无期 2020-12-17 03:52

I have a rake task which runs mailman under the rails environment.

I\'d like to ensure that rake task is always running via a daemon.

My rake task is r

相关标签:
4条回答
  • 2020-12-17 04:16

    If it's a docker image then surely it must be linux so,

    rake incoming_mail &
    

    should do the job by login into the pod and running rake task

    Apart from this, put

    Rails.logger.info in your code so the logs will be pushed to application log file OR

    GCloud Stackdriver or any logging framework.

    0 讨论(0)
  • 2020-12-17 04:20

    If you use Ruby 1.9+, you could use Process.daemon. There's also a solution for Ruby < 1.9: http://www.jstorimer.com/blogs/workingwithcode/7766093-daemon-processes-in-ruby

    0 讨论(0)
  • 2020-12-17 04:21

    In linux in order to run a process in background, you can add & to the end of command. So

    rake incoming_mail &

    should probably do the jobs for you.

    0 讨论(0)
  • 2020-12-17 04:22

    If you are on linux you could consider using start-stop-daemon.

    start-stop-daemon -S --pidfile /var/run/incoming_mail.pid -u rails_user -d /path/to/your/rails/app -b -a "rake incoming_mail"

    To later gracefully kill the process you can use most of the arguments but replace -S with -K.

    As always you can find more information on start-stop-daemon by reading the man pages.

    0 讨论(0)
提交回复
热议问题