我正在尝试在Elastic Beanstalk上为我的Django应用程序设置日常任务.似乎没有一种可接受的方式来设置它,因为芹菜节拍是Django中定期任务的首选解决方案,但对于负载平衡环境并不是很好.
我已经看到一些解决方案,比如使用leader_only = True设置芹菜节拍,只运行一个实例,但这会留下单点故障.我已经看到其他解决方案允许芹菜的许多实例击败并使用锁来确保只有一个任务通过,但除非失败的实例重新启动,否则最终还是不会完全失败?我看到的另一个建议是有一个单独的实例来运行芹菜节拍,但这仍然是一个问题,除非它有一些方法重新启动它失败.
这个问题有没有合适的解决方案?我宁愿不必照看调度程序,因为很容易注意到我的任务直到一段时间才运行.
django amazon-web-services celery celerybeat amazon-elastic-beanstalk
编辑:这已经被认为是一个错误,它看起来像一个修复正在进行中:https://github.com/tomchristie/django-rest-framework/issues/3732#issuecomment-267635612
我有一个Django项目,我希望用户在某个时区.我TIME_ZONE = 'Asia/Kolkata'和USE_TZ = True我的设置.
我有一个包含datetimefield的模型.当我第一次创建对象时,modelserializer给出带尾随的日期时间+5:30.令人讨厌的是,日期时间auto_now_add=True为UTC日期时间提供尾随Z.我通过使字段的默认值为当前时间的可调用来修复此问题.
如果我在任何时候再次序列化对象,则所有日期时间都是UTC,并带有尾随Z.从Django文档中,我希望序列化程序使用当前时区,默认为默认时区设置TIME_ZONE = 'Asia/Kolkata'.我已经在我的视图中检查了当前时区get_current_timezone_name(),它是'Asia/Kolkata'.我甚至尝试过activate('Asia/Kolkata')在我的视图中使用,但时间仍在UTC中返回.
请注意,所有时间都是正确的(UTC时间早于5:30),这正是我期望转换的时间.所有日期时间都按照预期的UTC时间存储在数据库中.
我错过了什么,或者这是Django Rest Framework序列化程序的错误?