You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use Case
In Frappe Mail, incoming emails are pushed to RabbitMQ and later processed by a scheduled job that runs every minute. This approach has two significant drawbacks:
Delay in Email Processing: The recipient receives the email at most one minute + processing time.
Redundant Job Execution: Even if no emails are in the queue, the scheduled job runs unnecessarily.
How This is Handled in Mail Agent
In the Mail Agent (a core Python application), a Procfile is generated to define processes directly connecting to RabbitMQ and working as continuous consumers. This ensures real-time processing without delays and avoids redundant job executions.
Proposed Feature
A similar feature can be implemented in the Frappe framework. App developers could define Python processes to start when bench start is executed. These processes would run continuously until bench stops and could be used to handle real-time tasks, like consuming a RabbitMQ queue or any other long-running operations.
Use Case
In Frappe Mail, incoming emails are pushed to RabbitMQ and later processed by a scheduled job that runs every minute. This approach has two significant drawbacks:
How This is Handled in Mail Agent
In the Mail Agent (a core Python application), a
Procfile
is generated to define processes directly connecting to RabbitMQ and working as continuous consumers. This ensures real-time processing without delays and avoids redundant job executions.Proposed Feature
A similar feature can be implemented in the Frappe framework. App developers could define Python processes to start when
bench start
is executed. These processes would run continuously untilbench
stops and could be used to handle real-time tasks, like consuming a RabbitMQ queue or any other long-running operations.Key Benefits:
The text was updated successfully, but these errors were encountered: