pateash commented on issue #22816:
URL: https://github.com/apache/airflow/issues/22816#issuecomment-1092224154

   @potiuk,
   I didn't mean to be rhetorical or disrespectful.
   
   I just wanted to have some discussion around this.
   As I have faced this scenario before as well in our usecases..
   
   I have already looked into some possible solutions -
   
   **_1. Using above work around_** 
   
   ```
   op = Operator(trigger_rule='one_success')
   [s1, s2 ] >> op3 
   ```
   Problem - the sensor which didn't run will fail after timeout even though 
only one success is required. and will cause alerts and doesn't look good.
   
   **Possible Solution -**
   * we make other Sensor to Skip after timeout and not fail. ( I am not sure 
if this is possible in current composition or not )
   
   **_2. Something along the lines of following_** 
   ```
   
       def poke(self, context: Context):
           self.log.info("sensors:" + str(self.sensors))
   
           success = False
           for sensor in self.sensors:
               success |= sensor.poke(context)
               if success:
                   self.mark_others_skipped(sensor, self.sensors)
                   return True
   
   Problem - as you correctly pointed out, it add additional complexity and 
reduces transparency.


-- 
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