Handle jobs when ActiveSupport.parse_json_times is enabled #634
+58
−1
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.
Reimplementing ActiveRecord::Coders::JSON is definitely not my favorite fix so im open to any ideas on how to clean this up.
But if you set
ActiveSupport.parse_json_times = true
an error gets thrown when running jobs because of this line in active_job/core.rb:170:When parse_json_times is enabled job_data["enqueued_at"] is an AS::TimeWithZone object instead of a string.
Alternatively, I could send a patch to Rails to force it to be a string:
Time.iso8601(job_data["enqueued_at"].to_s)
but thought I would start here and get thoughts since that fix could impact all ActiveJob adapters.