【rails】wheneverでcrontabが追記され続ける問題 | 瀬戸内の雲のように

【rails】wheneverでcrontabが追記され続ける問題

Posted: 2018-06-04


スポンサーリンク

目次

背景

railsでcronを扱うにはwheneverというgemを使う必要があります。これは非常に簡単に使えて便利なのですが、簡単故に意図通り動作せず困ってしまったので対応の内容をメモしておきたいと思います。

このブログはrailsで作られているのですが、sitemapの更新を定期的に行わせるためにwheneverを使っています。私の環境はcapistranoでデプロイしているので、デプロイ時にcronの更新を行うように設定しております。

 

環境

  • CentOS 7.4.1708
  • Rails 4.2.3
  • ruby 2.3.0p0
  • whenever (0.10.0)

 

事象

ある時、新しくプライバシーポリシーのページを追加しました。SEO対策のためsitemapを導入しているためsitemapの設定も編集し、/privacypolicyも含めるように変更しました。

そして次の日に再作成されたsitemapを確認したところ、/privacypolicyは入っていませんでした。

原因を調査したところ、crontabが以下のような状態になっており、deployの都度実行されるcrontabの設定がひたすら上書きされていた ということがわかりました。

#
# ↓同じタスクがリリースバージョン毎に実行される状態
#


# Begin Whenever generated tasks for: /var/www/simpleblog/releases/20180402234147/config/schedule.rb at: 2018-04-02 08:43:22 +0900
0 0 * * * /bin/bash -l -c 'cd /var/www/simpleblog/releases/20180402234147 && RAILS_ENV=production bundle exec rake sitemap:refresh --silent'


# End Whenever generated tasks for: /var/www/simpleblog/releases/20180402234147/config/schedule.rb at: 2018-04-02 08:43:22 +0900

# Begin Whenever generated tasks for: /var/www/simpleblog/releases/20180501234047/config/schedule.rb at: 2018-05-01 08:43:22 +0900
0 0 * * * /bin/bash -l -c 'cd /var/www/simpleblog/releases/20180501234047 && RAILS_ENV=production bundle exec rake sitemap:refresh --silent'


# End Whenever generated tasks for: /var/www/simpleblog/releases/20180501234047/config/schedule.rb at: 2018-05-01 08:43:22 +0900

# ~~中略~~

# Begin Whenever generated tasks for: /var/www/simpleblog/releases/20180604234247/config/schedule.rb at: 2018-06-05 08:43:22 +0900
0 0 * * * /bin/bash -l -c 'cd /var/www/simpleblog/releases/20180604234247 && RAILS_ENV=production bundle exec rake sitemap:refresh --silent'


# End Whenever generated tasks for: /var/www/simpleblog/releases/20180604234247/config/schedule.rb at: 2018-06-05 08:43:22 +0900

おそらく、これにより古いsitemapの設定と競合していたことが原因だと推測しました。

 

原因

capistranoの設定ファイル(deploy.rb)に設定していたwheneverの設定が間違っていました。
元々は以下のように設定していました。

# config/deploy.rb

# wheneverによるcrontabの設定
set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" }

# ~~~~ 中略 ~~~

  desc 'set crontab'
  task :whenever do
    on roles(:app) do

      within release_path do
        execute :bundle, :exec, 'whenever --update-crontab' ## ★ココ
      end
    end
  end


# ~~~中略~~~

  # 実行
  after :deploy, 'deploy:whenever'

上記の、execute :bundle, :exec, 'whenever --update-crontab' という設定が問題でした。
これは crontabに追記する という意味なので、消されることなくどんどん追記されていってました。

 

対応の検討

案としては2つありました。

① 新しく追記する前に前回の設定を消す
② 追記ではなく上書きにする

きれいな対策は①だと考えたので、その方向で調べました。

すると、以下のような設定でできそうだということがわかりました。

  desc 'set crontab'
  task :whenever do
    on roles(:app) do
      ### ↓追記ここから
      within previous_release do
        execute :bundle, :exec, 'whenever --clear-crontab'
      end
      ### ↑追記ここまで

      within release_path do
        execute :bundle, :exec, 'whenever --update-crontab'
      end
    end
  end

wheneverには --clear-crontabというオプションがあり、前回のリリースパスに対して消せばうまくいくと考えました。

しかし、結果はエラーでした。

というのも、新しいバージョンのwheneverではprevious_release という変数が使えなくなっているとのこと。
また他の方法で前回のリリースパスを取得する方法も自分では見つけられず、仕方なく諦めることに。。

解決策

結局、②のように都度上書きする方法で対応することにしました。
これは--write-crontabというオプションで対応可能でした。

# config/deploy.rb

# wheneverによるcrontabの設定
set :whenever_identifier, ->{ "#{fetch(:application)}_#{fetch(:stage)}" }

# ~~~~ 中略 ~~~

  desc 'set crontab'
  task :whenever do
    on roles(:app) do

      within release_path do
        #execute :bundle, :exec, 'whenever --update-crontab'
        execute :bundle, :exec, 'whenever --write-crontab'
      end
    end
  end


# ~~~中略~~~

  # 実行
  after :deploy, 'deploy:whenever'

一応これで解決したのですが、他のcron設定も全て消えてしまうこと が難点です。
railsは奥深いです。


スポンサーリンク




コメント一覧

2022/05/21 01:31:30

Anbnvunnyさん

non prescription sildenafil citrate how long does sildenafil stay in your system https://sildenafilkiol.com/


2022/05/21 01:32:54

Wnbhwongeさん

what is the difference between levitra and viagra viagra vs cialis vs levitra price https://glevitrargu.com/


2022/05/21 07:43:57

CPootaValtxiさん

cheap remeron 30mg


2022/05/21 08:41:54

pfkpsfngさん

modafinil order online


2022/05/21 09:01:14

mrdahbyzさん

order modafinil sale


2022/04/08 05:57:58

Ntfbfplugsさん

cialis tadalafil cialis tadalafil


2022/04/08 23:57:16

Dbngplugsさん

sildenafil y alcohol best price for sildenafil


2022/04/09 04:22:42

Keezexictさん

tadalafil for women how to buy tadalafil


2022/04/10 15:25:25

Fnenvunnyさん

cheap generic viagra viagra online without prescription


2022/04/10 15:43:27

Crnnwongeさん

buy generic viagra online over the counter viagra buy viagra online viagra alternatives


2022/04/12 02:51:54

Nmioplugsさん

international pharmacies that ship to the usa canada meds


2022/04/12 20:04:52

Kbwnexictさん

buy viagra paypal viagra brand name online


2022/04/12 20:21:33

Dennplugsさん

canadian pharmacy coupon code legit canadian pharmacies online


2022/04/13 13:53:33

AnuoAudircurnさん

77 canada pharmacy scams fake canadian pharmacies


2022/04/13 18:28:51

Nbttplugsさん

brand cialis 20mg cialis legal online


2022/04/14 12:01:13

Dsnnplugsさん

Ventolin inhalator certified canadian pharmacies online


2022/04/14 18:12:33

Knrnexictさん

online pharmacy for prescription drugs cvs pharmacy drug store promo code for canadian pharmacy meds


2022/04/16 02:00:02

Fuupvunnyさん

price for viagra sildenafil 25 mg buy


2022/04/16 01:59:20

Ckanwongeさん

generic levitra reviews levitra or viagra which is best


2022/04/16 15:16:29

AnnoAudircurnさん

generic viagra in india viagra super active


2022/04/16 20:11:05

Zbttplugsさん

ivermectin horse wormer ivermectin (stromectol).


2022/04/17 19:53:42

Enrnexictさん

cialis eu cialis 10mg generic


2022/04/17 15:10:08

Jtnnplugsさん

ivermectin for rabbits mites ivermectin for fungus


2022/04/19 03:15:29

Wevgwongeさん

street value of prescription drugs 24 store pharmacy reviews


2022/04/19 02:41:56

Auupvunnyさん

combitic global tadalafil tadalafil generic online


2022/04/19 23:37:58

AnuuAudircurnさん

pain meds online pharmacy prescription drugs prices comparison


2022/04/20 04:38:35

nyyyplugsさん

levitra price at walgreens levitra professional 40 mg


2022/04/20 22:54:15

Jnnyplugsさん

cost of cialis 5 mg fastest delivery of cialis


2022/04/21 02:28:48

Ennsexictさん

online viagra paypal cost of viagra australia


2022/04/22 09:31:43

Wnsnwongeさん

levitra homepage levitra package insert


2022/04/22 09:57:40

Ahhpvunnyさん

generic cialis florida low cost cialis


2022/04/22 13:16:11

APootaValtbjさん

www premarin com coupon


2022/04/23 04:00:58

JyhAudircurnさん

lamictal canadian pharmacy are canadian pharmacies legitimate


2022/04/23 09:06:11

Ntcxplugsさん

bernie sanders canada drugs publix pharmacy


2022/04/24 03:14:47

Jmmplugsさん

is it legal to order drugs from canada the drug store


2022/04/24 07:01:07

Eaaqexictさん

the cns depressants include various prescription drugs referred to as tricare pharmacy online


2022/04/25 14:21:04

Wnnhwongeさん

rx health mart pharmacy care rx specialty pharmacy


2022/04/25 14:24:28

Ansnvunnyさん

canadian pharmacy ritalin 15 rx pharmacy san antonio


2022/04/26 19:35:11

CPootaValtoxさん

alprazolame online


2022/04/27 21:54:51

Timothygutさん

НУЖЕН ПРОГОН Зеннопостером и Олсабмиттером? пишите по контакту: zennoposteralsabmitter@yandex.ru

Что такое ZennoPoster?
ZennoPoster – решение «всё в одном» для автоматизации SEO задач. Независимо от области SEO, он сохранит Вам много времени и денег.
https://doccentr.com, http://dom-lady.ru, https://zagorodny.net, https://ifvremya.ru, http://akro-spb.ru, http://blitz-remont.ru, https://ruspl.com, https://dailybest.me, https://novostidnja.ru, http://binom-s.com, http://medinfon.ru, https://friendlygames.ru, https://2019god.net, http://rusbetonplus.ru, https://domocvet.com, http://telead.ru, http://womaan.ru, http://ladyup.ru, http://about-windows.ru, http://icar-by.com, https://pancreatus.com, http://shoptrip.ru, http://zonakulinara.ru, https://loverust.ru, http://beton-cement-ru.ru, http://tvoi-noski.ru, http://arctic-online.ru, http://dk-zio.ru, http://womanmaniya.ru, https://4dekor.ru, http://apploidnews.com, http://omontazhe.ru, http://qllq.ru, http://windowss10.ru, http://domoxozyaiki.ru, http://dumainfo.ru, http://rempostroy.ru, http://slapk.ru, http://gdefile.ru, https://1vesti.kharkiv.ua, https://newsstroy.kyiv.ua, https://rnews.kharkiv.ua, https://rnews.kr.ua, https://bestnews.kyiv.ua, https://bestnews.kharkiv.ua, https://newsfor.kr.ua, https://newsfor.kyiv.ua, https://newsfor.kharkiv.ua, https://vsenews.kharkiv.ua, https://n1.kharkiv.ua, https://autonews.kyiv.ua, https://nbest.kyiv.ua, https://nbest.kharkiv.ua, https://n1.kyiv.ua, https://newsstroy.kr.ua, https://x-news.kr.ua, https://v-news.kr.ua, https://novostidnya.kr.ua, https://newsru.kr.ua, https://daynews.kr.ua, https://realnews.kr.ua, https://thenews.kr.ua, https://sobitiya.kr.ua, https://miv.kr.ua, https://rnews.kyiv.ua, https://1vesti.kyiv.ua, https://vsenews.kyiv.ua, https://autonews.kharkiv.ua, https://mirnews.kr.ua, https://onews.kr.ua, https://uk.kr.ua, https://vnovostyah.kr.ua, https://infopress.kr.ua, https://vse.kr.ua, https://n-news.kr.ua, https://development.eu.com, https://vesti.eu.com, https://novosti.eu.com, https://allaboutnews.eu.com, https://rusnews.kharkiv.ua, https://f-news.kr.ua, https://formatnews.kr.ua, https://autonews.kr.ua, https://worldpress.kr.ua, https://vsenews.kr.ua, https://nbest.kr.ua, https://1vesti.kr.ua, https://svodnews.kr.ua, https://q.kr.ua, https://yk.kr.ua, https://onlinenews.eu.com, https://people.eu.com, https://n1.kr.ua, https://rusnews.kyiv.ua, https://rusnews.kr.ua, https://bestnews.kr.ua, https://euronews.kr.ua, https://timenews.kr.ua, https://rtnews.kr.ua, https://town-news.kr.ua, https://krnews.kr.ua, https://vedomost.kr.ua, https://euro.kr.ua, https://1news.kr.ua, https://obzor.kr.ua, https://aboutnews.kr.ua, https://worldnews.kr.ua, https://newsday.kr.ua, https://strana.kr.ua, https://newsn.kr.ua, https://infonews.kr.ua, https://h.kr.ua, https://moivesti.kr.ua, https://currentnews.kr.ua, https://easynews.kr.ua, https://lifenews.kr.ua, https://lastnews.kr.ua, https://j.kr.ua, https://inform.kr.ua, https://rus.kr.ua, https://press-release.kr.ua, https://izvesti.kr.ua, https://034.kr.ua, https://v.kr.ua, https://xop.kr.ua, https://dni.kr.ua, https://ykr.kr.ua, https://newsportal.kr.ua, https://msv.kr.ua, https://s5.kr.ua, https://znews.kr.ua, https://information.kr.ua, https://ukr.kr.ua, https://portalnews.kr.ua, https://today.kr.ua, https://xznews.kr.ua, https://nn.kr.ua, https://mls.kr.ua, https://novostnik.kr.ua, https://informing.kr.ua, https://vnovosti.kr.ua, https://y.kr.ua, https://nation.kr.ua, https://item.eu.com, https://gazette.eu.com, https://headline.eu.com, https://fact.eu.com, https://somenews.eu.com, https://lifenews.eu.com, https://tidings.eu.com, https://today.eu.com, https://eunews.eu.com, https://sir.eu.com, https://journal.eu.com, https://gazeta.eu.com, https://lenta.eu.com, https://exclusive.eu.com, https://all.eu.com, https://expert.eu.com, https://news-magazine.eu.com, https://newshour.eu.com, https://presentation.eu.com, https://publication.eu.com, https://release.eu.com, https://smi.eu.com, https://view.eu.com, https://vremya.eu.com, https://prsn.eu.com, https://lnd.eu.com, https://034.eu.com, https://all-about.eu.com, https://solution.eu.com, https://rightnow.eu.com, https://euro21.eu.com, https://euro22.eu.com, https://100.eu.com, https://mdrd.eu.com, https://newtime.kr.ua, https://fraufluger.ru, https://rossoshru.ru, https://lifeposi.ru, http://megamcpe.com, https://mirzodiaka.com, http://ladysarafan.ru, https://hypecrib.com, https://vd-tv.ru, https://buzulukmedia.ru, https://donklephant.net, https://avtotema.kr.ua, http://hayastannews.com, https://deepcool-ma.com, https://russianshop.org, http://dettka.com, https://chexov.net, http://nalatty.com, https://hozyaushka.org, http://montazhnik02.ru, https://mama-creative.com, https://crimeabest.com, https://womanka.com, http://teletap.org, https://csharpcoderr.com, https://dooralei.ru, http://newsfast.ru, https://2020about.com, http://u-sity.net, http://intofact.ru, https://astrakhan.net, http://oneznakomke.ru, https://vpolozhenii.com, http://gturs.com, https://cultmoscow.com, https://dvedoli.com, https://belady.online, https://dobrenok.com, https://milomarket.com, https://adres.kr.ua, https://womanjour.ru, http://ladystory.ru, http://kapitosha.net, http://mirokru.ru, https://kakpravilino.com, https://1001guru.ru, http://xozyaika.com, https://aromat.kr.ua, https://parovarim.com, http://remstroitelstvo.ru, https://golubevod.net, http://s-narodom.ru, https://zazdorovie.net, http://roofor.ru, http://sovet-sadovody.ru, https://albooking.net, http://fi-hi.ru, https://modnuesovetu.ru, https://rabotainternet.com, https://1npf.com, https://renewablenergy-world.com, https://viewangle.net
ZennoPoster программный комплекс для автоматизации Ваших действий в браузере. За считанные минуты Вы сможете автоматизировать любую работу в браузере, которую Вы привыкли выполнять вручную.
a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,i,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a,b,c,d,
i

Для использования ZennoPoster Вам не потребуются какие-либо специальные навыки и знания, это также просто, как конструктор Лего!
MVqY0kB0y98p
Allsubmitter не только предлагает вам экспертное решение для отчетов и статистики клиентов. Но is также предлагает вам лучшие доступные услуги по отправке онлайн-каталогов.


2022/04/29 11:07:21

DPootaValtbvさん

best accutane brand


2022/04/29 15:50:09

JyhgAudircurnさん

liquid ivermectin stromectol and herbs https://stromectolujlo.com/


2022/04/29 20:46:14

Nndnplugsさん

best canada pharmacy Trandate https://jzpharmacyukj.com/


2022/04/30 14:28:48

Jebplugsさん

cost of viagra in usa order viagra professional https://sgiviagraikn.com/


2022/04/30 16:42:09

Bahknornさん

vardenafil hcl 20mg tab vs viagra levitra medicine vardenafil information


2022/04/30 18:10:59

Ebbexictさん

reputable canadian pharmacies online canadian online pharmacies legal https://dtupharmyjn.com/


2022/05/02 00:39:53

Anbnvunnyさん

where can i buy sildenafil over the counter 60 mg sildenafil https://sildenafilkiol.com/


2022/05/02 00:44:35

Wnbhwongeさん

levitra gsk is levitra cheaper than viagra https://glevitrargu.com/


2022/05/02 17:33:17

dounlindさん

viagra 150 mg goodrx viagra womens viagra


2022/05/03 18:16:43

JolwAudircurnさん

purchase viagra no prescription buy sildenafil in usa https://aviagrasbt.com/


2022/05/03 19:04:36

DegezeLlさん

cialis shelf life what is cialis cialis 5mg price cvs


2022/05/03 22:57:56

Nndenplugsさん

levitra offer levitra interaction https://xclevitradb.com/


2022/05/04 11:20:44

CPootaValtrhさん

molnupiravir india price


2022/05/04 16:19:31

Jebnplugsさん

online pharmacy paypal accepted 24 hour pharmacy


2022/05/04 15:14:50

Arroldさん

bph cialis website cialis cost per pill


2022/05/04 20:28:50

Ebbeexictさん

buy cialis withiut a prescription viagra vs. cialis https://dccialisxvf.com/


2022/05/06 03:59:44

lsuwdivyさん

brand provigil 100mg oral modafinil order modafinil for sale


2022/05/07 19:00:31

SesBeecyさん

online viagra brand viagra buying viagra online legally


2022/05/09 10:40:40

jecrgfさん

quinine vs hydroxychloroquine https://keys-chloroquinehydro.com/


2022/05/09 12:24:56

JolwAudircurnさん

buy viagra sale sildenafil 50mg united states https://aviagrasbt.com/


2022/05/09 17:00:39

Nndenplugsさん

levitra dosage and administration levitra vs cialis https://xclevitradb.com/


2022/05/10 09:48:23

Jebnplugsさん

pharmacy on line canada canadian pharmacy phone number


2022/05/10 13:55:41

Ebbeexictさん

when will generic cialis be available cialis soft tablets https://dccialisxvf.com/


2022/05/11 17:39:34

Jodyさん

provigil tablet order provigil 200mg for sale


2022/05/11 18:56:05

Wnbhwongeさん

cialis or levitra levitra discounts https://glevitrargu.com/


2022/05/11 18:56:58

Anbnvunnyさん

sildenafil patent online prescription for sildenafil https://sildenafilkiol.com/


2022/05/11 22:24:26

СPootaValtglさん

tramadol sale home depot


2022/05/13 17:42:20

EvaleenOaOaさん

online nursing dissertation help
how to cite a dissertation apa
chicago citation dissertation


2022/05/14 15:58:11

MaggeeOaOaさん

dissertation completion pathway
writing msc dissertation
defending your dissertation


2022/05/14 19:36:54

Nndenplugsさん

where can i buy generic levitra levitra free https://xclevitradb.com/


2022/05/15 03:40:29

Jamiさん

Provigil 200Mg Brand order provigil 100mg
sale


2022/05/15 10:57:20

RegineOaOaさん

phd dissertation help
umi dissertation services
dissertation help service binding


2022/05/15 12:58:05

Jebnplugsさん

online pharmacy overnight delivery Starlix


2022/05/16 10:11:11

KirstiOaOaさん

uk dissertation writing service
help on writing a dissertation
how to write a draft dissertation help


2022/05/17 19:58:40

KirstiOaOaさん

mba dissertation writing
dissertation help writing
doctoral dissertation help history


2022/05/18 07:18:31

xsuzkzooさん

buy modafinil for sale order provigil online cheap modafinil 100mg us


2022/05/18 17:54:54

JolwAudircurnさん

30 mg sildenafil chewable female viagra cost in india https://aviagrasbt.com/


2022/05/18 22:49:57

Nndenplugsさん

viagra levitra cialis comparison levitra 100mg https://xclevitradb.com/


2022/05/19 07:05:21

xotejbygさん

order modafinil pill purchase provigil


2022/05/19 13:43:54

ibcrpavnさん

buy provigil 200mg pill buy provigil for sale buy provigil online cheap


2022/05/19 16:08:56

Jebnplugsさん

rx choice pharmacy pharmacy store hours


2022/05/19 18:19:15

yvujgaxrさん

brand provigil 100mg generic provigil 200mg modafinil 100mg us


2022/05/19 19:47:14

Ebbeexictさん

cialis with dapoxetine 60mg buy cialis online free shipping https://dccialisxvf.com/


2022/05/19 22:33:27

CharlaOaOaさん

dissertation length
dissertation data analysis help
affordable dissertation help


2022/05/20 15:08:02

dcmdgtdkさん

erythromycin for acne



コメントを投稿する


お名前


コメント内容





TOP back