Если в базе данных было много сообщений, которые я хотел отправить, и в каждой строке указывались дата и время отправки сообщения, а также флаг, если оно было отправлено.
Эти выигрышине всегда с фиксированными интервалами, и более 1 сообщения могут захотеть быть отправлены одновременно.
В этом случае он просто поставит их в очередь и отправит в порядке, когда они были созданы.
Легче всего сделать, просто чтобы функция запускалась снова и снова, после завершения она просто запускалась снова
Так что это будет:
- Start Runи проверьте текущую дату / время
- Проверьте наличие неотправленных сообщений
- Отправьте все сообщения, которые должны быть отправлены до и до времени, когда он начал работать
- Начать все сначаласнова и возьмите текущую дату / время
Моя проблема с этим заключается в том, будет ли ужасно неэффективно постоянно запускать метод, возможно, в течение нескольких часов или дней без фактической отправки сообщения.
TheОсновное напряжение в этом случае, я думаю, будет помещено в базу данных, оно будет постоянно получать запрос.
Есть ли лучший способ запланировать что-то подобное, чтобы это произошло.
Илипросто сделайте вышеописанное, но каждый раз, когда он запускается, заставьте его ждать 5 минут, прежде чем запускать снова.
Предлагает ли Workflow 4 что-нибудь подходящее для планирования?