bugfix - Object of type CeleryTransition is not JSON serializable #15
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.
Celery tasks
complete_transition,fail_transition,run_side_effects_as_taskandrun_callbacks_as_taskreceived transition in args as object, but it can be not JSON serializable.My proposal to push
action_name/transition_nameto arg instead of obj.Also added
Dockerfileandmakefilefor local development.Note
Replaces non-serializable Transition objects in Celery task payloads with action_name lookup, adds kwargs sanitization, updates task queuing/tests, and adds Dockerfile/makefile for local dev.
transitionobjects withaction_nameacrosscomplete_transition,fail_transition,run_side_effects_as_task, andrun_callbacks_as_task._find_transition_in_processandget_transition_from_processto resolve transitions at runtime (including nested processes).CeleryCommandMixin.get_task_kwargs(skip callables, convertusertouser_id, allow primitives, carryexception).action_name.demo/tests/test_process.pyexpectations to includeaction_nameand serialized kwargs; remove reliance ontransitionobject.Dockerfileandmakefilefor local development (build, test, shell).Written by Cursor Bugbot for commit ce10faa. This will update automatically on new commits. Configure here.