คำถามติดแท็ก django-celery-beat

1
Django ทำงานในอนาคตอันใกล้
Eventสมมติว่าฉันมีรูปแบบ ฉันต้องการส่งการแจ้งเตือน (อีเมล, กด, อะไรก็ได้) ให้กับผู้ใช้ที่ได้รับเชิญทุกคนเมื่อเหตุการณ์ผ่านไป บางสิ่งบางอย่างตาม: class Event(models.Model): start = models.DateTimeField(...) end = models.DateTimeField(...) invited = models.ManyToManyField(model=User) def onEventElapsed(self): for user in self.invited: my_notification_backend.sendMessage(target=user, message="Event has elapsed") ตอนนี้แน่นอนส่วนที่สำคัญคือการเรียกใช้เมื่อใดก็ตามที่onEventElapsed timezone.now() >= event.endโปรดทราบendอาจเป็นเดือนจากวันที่ปัจจุบัน ฉันคิดเกี่ยวกับวิธีพื้นฐานสองวิธีในการทำสิ่งนี้: ใช้cronงานเป็นระยะ(พูดทุก ๆ ห้านาทีหรือมากกว่านั้น) ซึ่งจะตรวจสอบว่ามีเหตุการณ์ใด ๆ เกิดขึ้นภายในห้านาทีที่ผ่านมาและดำเนินการตามวิธีการของฉัน ใช้celeryและกำหนดเวลาonEventElapsedโดยใช้etaพารามิเตอร์ที่จะเรียกใช้ในอนาคต (ภายในsaveเมธอดmodel ) เมื่อพิจารณาถึงตัวเลือกที่ 1 ทางออกที่อาจเกิดขึ้นได้ django-celery-beatได้ อย่างไรก็ตามดูเหมือนว่าจะแปลกเล็กน้อยในการเรียกใช้งานในช่วงเวลาคงที่สำหรับการส่งการแจ้งเตือน นอกจากนี้ฉันยังพบกับปัญหา (ที่อาจเกิดขึ้น) ที่จะ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.