PromucFlow_constructor/app/server/reactive-caching
Abhijeet 5f3b6b8b24
feat: Restrict cron execution for single pod in clustered environment (#39171)
## Description
PR to update crons:
1. Execute crons for all orgs present in the DB
2. Add distributed locking mechanism to run cron by a single pod in
multi-clustered setup
3. Add orgId in the analytics event which are part of cron to filter
based on the combination of instanceId and orgId

##### TODOs:
1. Need to introduce a way to pass orgId while fetching organization
level feature flags
- When fetching flags for anonymous user orgId is not present in the
session
- While using methods annotated with @FeatureFlagged without the user
context (server internal workflow)
2. Currently we are fetching status of license and org level feature
flags at the startup, which was fine but going forward to avoid initial
delay we need to find better alternative to this.

Fixes https://github.com/appsmithorg/appsmith/issues/39068,
https://github.com/appsmithorg/appsmith/issues/39388

/test All

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/13519994895>
> Commit: c1b8e5de730f04c2a50966a95c061138af658955
> Workflow: `PR Automation test suite`
> Tags: `@tag.All`
> Spec: ``
> <hr>Tue, 25 Feb 2025 11:19:31 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
- Enhanced organization management with dynamic feature flag updates and
improved restart handling.
- Added distributed locking to scheduled background tasks for increased
stability and reliability in multi-tenant environments.
- Introduced new methods for retrieving all organizations and managing
organization configurations.
- New logging capabilities for better visibility into method invocation
failures.

- **Refactor**
- Streamlined internal workflows with enhanced logging and optimized
reactive processing, ensuring better monitoring and system
responsiveness.
- Improved method signatures and error handling for better clarity and
functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-25 17:20:11 +05:30
..
src feat: Restrict cron execution for single pod in clustered environment (#39171) 2025-02-25 17:20:11 +05:30
pom.xml chore: Upgrading spring to 3.3.3 to resolve vulnerable dependencies (#36266) 2024-10-01 22:12:56 +05:30