簡體   English   中英

如何在Rails中的特定日期之后24小時發生動作?

[英]How do I have an action happen 24 hours after a specific date in Rails?

在Rails 4上,我正在創建一個列表/租賃站點,人們可以在其中列出事物,然后其他人可以將其出租。 我正在使用Stripe來處理我的所有付款,並且我已經建立了一個表格,該表格可以獲取用戶的信用卡,並在他們要求預訂租金時使他們成為客戶。 之后,租借的所有者可以查看請求並確認或拒絕。 如果他們確認了這一點,那么租房的用戶就會從他們的卡中扣款,然后他們的錢將被保留。

當用戶請求預訂時,他們選擇上落日期。 我想采取一項行動,要求在提貨日期后24小時從條紋向清單所有者支付款項。 我不確定該如何處理,因此任何建議都很棒! 當然,如果有人知道任何實現此類事情的教程,那將非常棒:)。

謝謝。

您可以做的幾件事

  • delay_job :需要一個數據庫和一個正在運行的進程來運行計划的作業; 您可以使用它在Heroku如圖所示這里

  • resque-scheduler :需要redis和resque以及正在運行的進程才能運行計划的作業。 您可以使用它在Heroku如圖所示這里 使用resque-webresque-cleaner檢查並處理失敗的作業。

  • 每當 :要求訪問cron作業,並設置您自己的腳本以每小時或每隔幾分鍾運行一次,然后提取需要處理的列表,然后將其處理掉。 您需要制定一個良好的錯誤報告系統。 不在Heroku上運行

  • heroku調度程序 :都是通過heroku管理的,但是本質上為您提供了與whenever相同的功能。

Resque可能是我的選擇,但您應該對自己的域名了解更多。

有很多方法可以做到這一點。

所有這些都涉及某種每X分鍾檢查一次的數據存儲。 通常,在此數據存儲中,您可以設置運行時間。

查看:

https://github.com/collectiveidea/delayed_job

要么

https://github.com/mperham/sidekiq

只要在此處提供寶石和文檔,就安裝: https : //github.com/javan/whenever

然后在config / scheduler.rb文件中提及您的函數名稱,並在模型中或根據要求進行定義。 它的行為類似於CRON作業,但主要區別在於它也可以運行應用程序內部功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM