Re. Issue #874: guarantee tz aware current datetime for timezone.localtime #877
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
re. Issue #874, draft PR as per request.
timezone.localtime
requires a timezone aware datetime, andnow
will return a naive datetime if settingUSE_TZ
isFalse
, resulting in failed startupValueError: localtime() cannot be applied to a naive datetime
.USE_TZ
andDJANGO_CELERY_BEAT_TZ_AWARE
settings should not be relevant to the output of methodDatabaseScheduler.get_excluded_hours_for_crontab_tasks
, which is a list of naive hour strings.Maybe there is a more conforming way of accomplishing this than my suggestion, but cannot use
maybe_make_aware(now())
becausenow()
returns naive local time, andmaybe_make_aware
requires naive utc time (e.g. from depricateddatetime.utcnow()
).While I've had this running on my UTC timezone dev server for a few days, this is not tested, particularly for other timezones, and I do not claim to fully understand how the timezone/naive timestamp management works through these modules.