주간 다이제스트를 예약할 수 있는 방법이 있을까요?
디스코urs의 다이제스트가 개별 사용자 기준으로 마지막 방문 시간을 기록하고, 그 시점부터 X일 후(예: 주간 다이제스트의 경우 7일 후)에 전송된다고 알고 있었습니다. 하지만 제가 받은 이메일을 확인해 보니 주간 다이제스트가 한꺼번에 전송되고 있어서, 이것이 여전히 그런 방식인지 확신이 서지 않습니다.
불행히도 해당 주간 다이제스트가 비활성 시간대에 전송되고 있습니다. 주간 다이제스트를 예약할 수 있다면 더 나은 사용자 참여도를 이끌어낼 수 있을 것 같습니다. 이것이 가능한가요?
조사해 본 내용:
So I had an issue a long time ago where our digest emails stopped working for a extended period of time (I set the ‘suppress digest email after days’ value too high as I wanted to disable it, but this prevented all digest emails from sending).
Now a huge amount of digest emails are clumped together and get sent out on the same day, at the same time. It’s quite a bit of a shotgun and SMTP providers are not a fan.
I believe this also caused an issue where a large amount of bounced emails were re…
이 게시글은 주간 다이제스트가 이런 방식으로 동작해서는 안 된다는 생각을 갖게 했습니다.
For slower VPS servers and bigger number of community members, sending digest emails may clutter sidekiq jobs queue.
Combined with a possibly slow SMTP server and hight user activity at peak hours, this may lead to sidekiq get stuck, which will affect user “notifications” experience.
I’d like to propose a setting to control during which hours sending queued digest emails can be executed.
For many communities residing in a single country (e.g. Australia) or a single region (e.g. Europe), there…
이 게시글에는 아직 답변이 달리지 않았습니다.
미리 감사드립니다.
TorqueWrench
Falco
(Falco)
10월 27, 2020, 5:05오후
2
여전히 그런 방식입니다.
30분마다 7일 동안 접속하지 않은 사용자를 계산하여 다이제스트를 전송합니다.
변경된 부분은 새로운 게시물이 며칠 동안 올라오지 않는 사이트를 위한 몇 가지 성능 최적화였습니다.
committed 02:30PM - 07 Oct 20 UTC
Previously, Jobs::EnqueueDigestEmails would enqueue a digest job for every user,… even if there are no topics to send. The digest job would exit, no email would send, and last_emailed_at would not change. 30 minutes later, Jobs::EnqueueDigestEmails would run again and re-enqueue jobs for the same users.
120fa8ad introduced a temporary mitigation for this issue, by randomly selecting a subset of those users each time.
This commit adds a new `digest_attempted_at` column to the `user_stats` table. This column is updated every time a digest job completes for a user. Using this, we can avoid scheduling digest jobs for the same user every 30 minutes. This also removes the random user selection in 120fa8ad, and instead prioritizes users who had digests attempted the longest time ago.
이것은 다이제스트 빈도를 변경할 수 있지만, 주로 새로운 게시물이 매우 적거나 사이트를 방문하지 않는 사용자가 많은 극단적인 커뮤니티에 영향을 미칩니다.
이제 이해가 됩니다. 감사합니다!
저는 주로 Discourse를 댓글 제공자로 사용하고 있기 때문에 제 상황과 일치합니다.
주간 다이제스트를 예약할 수 있는 기능에 대한 관심이 있는 것 같습니다 (원하시면 다른 포럼 게시글 목록을 정리해 드릴 수 있습니다). Discourse에서 이 기능에 관심이 있을까요? (개발을 약속하는 것은 아닙니다.) 이 기능이 있다면, 여기서 요청된 기능에 대한 많은 요구를 완화하는 데 도움이 될 것 같습니다:
Am I just being silly in not being able to find it?
Falco
(Falco)
10월 27, 2020, 5:24오후
4
그것은 우리의 로드맵에 포함되어 있지 않으므로, #marketplace에서 맞춤형 플러그인을 의뢰하는 것이 가장 좋은 방법입니다.