Каждый день, неделю, месяц, год в AppEngine cron (python)

Я пытаюсь установить задачу appengine, которая будет повторяться в полночь каждого дня, недели, месяца и года, для очистки списка высоких баллов за игру.

Мой cron.yaml выглядит следующим образом:

- description: daily clear
  url: /delete?off=10
  schedule: every day 00:00
- description: weekly clear
  url: /delete?off=20
  schedule: every monday 00:00
- description: monthly clear
  url: /delete?off=30
  schedule: every month 00:00
- description: yearly clear
  url: /delete?off=40
  schedule: every year 00:00

Ежедневные и еженедельные задания в порядке, но я не могу понять, как выполнять работу каждый месяц и год. Это формат расписания.

Для каждой месячной работы я пробовал такие выражения, как "каждый месяц", "1-й месяц" и т.д., но ничего не получилось. Возможно ли такое расписание в заданиях cron?

Или мне нужно просто вызвать страницу клиринга только ежедневно в 00:00, и сделать эту логику на странице и проверить текущую дату, если это начало недели/месяца/года?

Ответ 1

Документы, которые вы связываете, чтобы привести примеры того, как вы могли бы достичь всех желаемых результатов.

# Daily:
every day 00:00

# Weekly:
every monday 00:00

# Monthly:
1 of month 00:00

# Yearly:
1 of jan 00:00

Ответ 2

Я бы сказал что-то вроде этого:

- description: daily clear
  url: /delete/daily
  schedule: every day 00:00
- description: weekly clear
  url: /delete/weekly
  schedule: every monday 00:00
- description: monthly clear
  url: /delete/monthly
  schedule: first of month 00:00
- description: yearly clear
  url: /delete/yearly
  schedule: first of jan 00:00

AFAIK вы не можете использовать такой синтаксис, как этот /delete?off=30 в yaml, но вам нужно явно определить маршрут для каждого другого clear с помощью /delete/weekly, например