potiuk commented on issue #20498:
URL: https://github.com/apache/airflow/issues/20498#issuecomment-1001560845


   That is unlikely to happen because of security.
   
   Callbacks are executed in the context of Worker or DagFileProcessor, 
Scheuler is not supposed to execute any code provided by the user in the DAG. 
IT's the scheduler that dermines which executor can be used, and it sends 
prepared task to the executor (sometimes based on the "queue") parameter. And 
as you mentioned - the celery workers pick the tasks from the queu that they 
are configured with, so by the time the task start, their queue already 
pre-determined where they should be run.
   
   The only real place where you can change queue for the tasks is at teh DAG 
parsing time - which effectively means that once the task has been plced in the 
DAG structure it's queue has to be determined. You canot dynamically change it 
in scheduler. Schedulers just schedules whatever is declared in the code that 
comes "pre-installed" with airflow. - for example custom triggers, or custom 
timetables have to be pre-installed and DAGs cannot define their logic - they 
can at most declare and configure which timetable/trigger will be used. 
   
   So the only way it could be implemented is by defining some "customizable" 
mechanism of queue selection - rather than allow DAG writer to define it in the 
way that callbacks are defined.
   
   I will convert it into discussion - maybe it will be picked by someone who 
would like to have similar mechanism, but at the very least it would require 
extensive discussion in devlist and AIP (Airflow Improvement Proposal).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to