Periodic task querying is a separate method #883
+17
−6
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.
Recent changes to how periodic tasks are filtered and fetched broke how tenant-schemas-celery fetch all periodic tasks from all schemas.
In order not to copy-paste or duck-type new behavior, the filtering logic has been refactored to a separate method,
enabled_models_qs()
. This method does what the original query would do. Next, the queryset is consumed into a list insideenabled_models()
, which is also used in the old for-loop.The
enabled_models()
method is a good integration point, as we still have access to the unevaluated queryset there, whilst being able to return simple datastructure which is a list.In my case, I would use
enabled_models_qs()
to construct the query, and run it against all of the schemas. The result ofenabled_models()
will be the union of all the results across all of the schemas.