メソッドが破壊的になり、rake タスク名に bang('!') を追加する場合、Ruby の規則を適用する必要がありますか、それとも unix タイプの標準に準拠する必要があるので、個人的な理解では、bang はあまり使用されません。
例えば。どちらが良いですか?
$ rake update_products # OR
$ rake update_products!
バックグラウンド
外部 API から製品データを取得し、システム内のレコードを各製品の新しくインポートされたデータで更新する方法があります。
メソッドは次のように呼び出されます。
e = ExternalConnection.new
e.update_products!
rake タスクを作成しているので、これを cron ジョブ/heroku スケジューラーで使用できます。
# scheduler.rake
task :update_products => :environment do
e = ExternalConnection.new
e.update_products!