You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.3 KiB

  1. ---
  2. - name: Install cron
  3. apt:
  4. name: cron
  5. - name: Add cronjob for lifting expired temporary bans
  6. cron:
  7. name: lift_expired_temporary_bans
  8. job: "{{ bin_dir }}/python -c \"from scripts.lift_expired_temporary_bans import lift_expired_temporary_bans; lift_expired_temporary_bans('{{ app_dir }}/{{ ini_file }}')\""
  9. user: "{{ app_username }}"
  10. hour: "*"
  11. minute: 1
  12. - name: Add cronjob for closing voting on old posts
  13. cron:
  14. name: close_voting_on_old_posts
  15. job: "{{ bin_dir }}/python -c \"from scripts.close_voting_on_old_posts import close_voting_on_old_posts; close_voting_on_old_posts('{{ app_dir }}/{{ ini_file }}')\""
  16. user: "{{ app_username }}"
  17. hour: "*"
  18. minute: 3
  19. - name: Add cronjob for cleaning up private data
  20. cron:
  21. name: clean_private_data
  22. job: "{{ bin_dir }}/python -c \"from scripts.clean_private_data import clean_all_data; clean_all_data('{{ app_dir }}/{{ ini_file }}')\""
  23. user: "{{ app_username }}"
  24. hour: 4
  25. minute: 10
  26. - name: Add cronjob for generating yesterday's group stats
  27. cron:
  28. name: generate_group_stats_for_yesterday
  29. job: "{{ bin_dir }}/python -c \"from scripts.generate_group_stats_for_yesterday import generate_stats; generate_stats('{{ app_dir }}/{{ ini_file }}')\""
  30. user: "{{ app_username }}"
  31. hour: 0
  32. minute: 10
  33. # Also reloads gunicorn if CSS updated, to update the cache-busting strings
  34. - name: Add cronjob for generating site-icons CSS file
  35. cron:
  36. name: generate_site_icons_css
  37. job: >
  38. {{ bin_dir }}/python -c "from scripts.generate_site_icons_css import generate_css; generated = generate_css(); exit(0 if generated else 1)"
  39. && sudo systemctl reload gunicorn.service
  40. user: "{{ app_username }}"
  41. minute: "*/5"
  42. - name: Add cronjob for posting scheduled topics
  43. cron:
  44. name: post_scheduled_topics
  45. job: "{{ bin_dir }}/python -c \"from scripts.post_scheduled_topics import post_scheduled_topics; post_scheduled_topics('{{ app_dir }}/{{ ini_file }}')\""
  46. user: "{{ app_username }}"
  47. - name: Add cronjob for updating all groups' lists of common topic tags
  48. cron:
  49. name: update_groups_common_topic_tags
  50. job: "{{ bin_dir }}/python -c \"from scripts.update_groups_common_topic_tags import update_common_topic_tags; update_common_topic_tags('{{ app_dir }}/{{ ini_file }}')\""
  51. user: "{{ app_username }}"
  52. hour: "*"
  53. minute: 0