[PR #5787] feat: correctly delete applications using Celery workers #25054

Closed
opened 2026-02-21 20:24:11 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/5787

State: closed
Merged: Yes


Description

This PR implements a robust application deletion process using Celery workers. The change ensures that app deletion is handled asynchronously, improving system reliability and laying the groundwork for better user experience. It includes the deletion of all related data, including tag bindings.

However, more work is needed to implement polling or WebSocket for actual front-end status updates. This PR focuses on the backend implementation and prepares the system for future frontend enhancements.

Type of Change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

  • Manually triggered app deletion and verified in the database that all related data (including tag bindings) are properly deleted
  • Tested error scenarios by intentionally causing failures in the deletion process
  • Verified that the Celery task retry mechanism works as expected

Suggested Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
  • optional I have made corresponding changes to the documentation
  • optional I have added tests that prove my fix is effective or that my feature works
  • optional New and existing unit tests pass locally with my changes
**Original Pull Request:** https://github.com/langgenius/dify/pull/5787 **State:** closed **Merged:** Yes --- # Description This PR implements a robust application deletion process using Celery workers. The change ensures that app deletion is handled asynchronously, improving system reliability and laying the groundwork for better user experience. It includes the deletion of all related data, including tag bindings. However, more work is needed to implement polling or WebSocket for actual front-end status updates. This PR focuses on the backend implementation and prepares the system for future frontend enhancements. ## Type of Change Please delete options that are not relevant. - [x] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) # How Has This Been Tested? - [x] Manually triggered app deletion and verified in the database that all related data (including tag bindings) are properly deleted - [x] Tested error scenarios by intentionally causing failures in the deletion process - [x] Verified that the Celery task retry mechanism works as expected # Suggested Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods - [ ] `optional` I have made corresponding changes to the documentation - [ ] `optional` I have added tests that prove my fix is effective or that my feature works - [ ] `optional` New and existing unit tests pass locally with my changes
yindo added the pull-request label 2026-02-21 20:24:11 -05:00
yindo closed this issue 2026-02-21 20:24:11 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#25054