Je fais une application appelée club de lecture. Beaucoup de livres avec des votes seront dans le système. Chaque mois, le premier du mois, j'ai besoin du système pour promouvoir automatiquement le livre avec le plus grand nombre de votes pour être le «livre du mois». La logique de promouvoir un livre et d'assurer qu'un seul livre du mois existe a déjà été mis en œuvre.Rails application doit effectuer une tâche une fois par mois
book.promote!
Belle, hein?
Je me ont un test hurr
Given the following books exist:
| title | author | year_published | votes | created_at |
| Lord of the Flies | William Golding | 1954 | 18 | January 12, 2010 |
| The Virgin Suicides | Jeffrey Eugenides | 1993 | 12 | February 15, 2010 |
| Island | Richard Laymon | 1991 | 6 | November 22, 2009 |
And the book "Lord of the Flies" is the current book of the month
And the date is "February 24, 2010"
Then the book "Lord of the Flies" should be the current book of the month
When the date is "March 1, 2010"
And I am on the home page
Then I should see "This Month's Book of the Month Club Book"
And I should see "The Virgin Suicides"
And the book "The Virgin Suicides" should be the current book of the month
And the book "Lord of the Flies" should not be the current book of the month
And the book "Island" should not be the current book of the month
Et je suis en train d'obtenir ce passage. Donc la question est, comment puis-je mettre en œuvre une mise à jour automatique, une fois par mois, qui peut être testée par ce scénario?
Cron est un peu trop mouillé à mon goût. Je voudrais une solution plus portable.
delayed_job/Resque semble un peu trop lourd pour la situation. De plus, je ne sais pas trop comment les faire exécuter une fois par mois. À la recherche d'une solution simple, mais robuste et TESTABLE.
Bravo, comme toujours!
Si vous pouvez expliquer pourquoi 'cron' est trop bâclé pour vous, je peux vous suggérer de meilleures alternatives. – Swanand
Pour utiliser cron, je dois commencer à faire des suppositions dans ma suite de tests. Je peux faire la tâche de rake que le job cron appelle et tester, mais il me reste encore à faire l'hypothèse que les jobs cron seront mis en place dans mon environnement. Peut-être que je suis un peu pédant à ce moment-là, mais cela ne me semble pas juste de ne pas pouvoir couvrir un aspect aussi crucial du système. – drmanitoba