Sign up to take part
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
Registered users can ask their own questions, contribute to discussions, and be part of the Community!
So I went to the dataiku academy and built my custom trigger with the template provided in order to run my scenario on week-days at business hours. Which resulted eventually in this code :
from dataiku.scenario import Trigger
from datetime import date
from datetime import datetime
t = Trigger()
aujourdhui = date.today()
heure = datetime.today()
heure_actuelle = heure.hour
if aujourdhui.weekday() >= 0 and aujourdhui.weekday() < 5:
if heure_actuelle > 8 and heure_actuelle < 21:
t.fire()
Problem is, this code won't trigger the scenario. According to the template I built this code on, there are no reasons why this trigger won't launch the scenario. For info, the scenario is within the project I 'use'/write the custom trigger. I left the 3600 seconds (run every seconds parameter) to default.
I tried to use a time based trigger which effectively launched at a certain time of the hour, but I thought it would work the same way according to the conditions in the code above.
Please, can you provide an explanation why this code won't launch my scenario every hour and see if the conditions are met ?
PS : Obvsiouly I tried it within the time span the conditions are based on.
Hello,
Did you ticked the little checkbox "Auto-triggers"?
To debug your custom trigger, you can reduce the "Run Every", put some print and check in the log if you see your message.
Hello,
Did you ticked the little checkbox "Auto-triggers"?
To debug your custom trigger, you can reduce the "Run Every", put some print and check in the log if you see your message.
Hello, thank you for the fast reply. The problem was due to my understanfing of the run every (3600 s) function, which I thought would work like that (immediatly run while active on is ticked and run every default seconds after). Instead, I understand now that the function is coded to have a starttime run with the latency of variable equals to parameter variable from actual time.
I will mark the issue as resolved thank you (:
Good Morning,
I want the same as Onevirtual. The custom Trigger should trigger (fire) monday to friday every 3 hours between 8 am and 5 pm.
I dient clearly understand the Response and appreciate If you can post Code and what to set in run every or Grace delay
Thanks
Hi,
I have configured my trigger just like above. I put the run every seconds at 60. But my trigger will not trigger at all.
Hello,
I am confronted in the same problem.
I have create a custpm trigger:
```
from dataiku.scenario import Trigger
from datetime import datetime, date
import dataiku
from loguru import logger
# Run every seconds: 10800 = 3600 x 3 = 3 hours
t = Trigger()
execution_date = date.today()
logger.info(f"execution_date: {execution_date}")
now = datetime.today()
logger.info(f"now: {now}")
execution_hour = now.hour
logger.info(f"execution_hour: {execution_hour}")
date_format = "%d-%m-%Y"
update_date_str = dataiku.get_custom_variables().get("update_date")
if update_date_str:
update_date = datetime.strptime(update_date_str, date_format)
logger.info(f"update_date: {update_date}")
else:
update_date = (datetime.fromtimestamp(0)).date()
logger.info(f"update_date: {update_date}")
delta_days = execution_date - update_date
logger.info(f"delta_days: {delta_days}")
# lire la date d'update stockée en tant que variable globale
weekday_execution = execution_date.weekday()
logger.info(f"weekday_execution: {weekday_execution}")
if weekday_execution < 2: # lundi 0, mardi 1 value: 2
# 5 execution par jour 8,11,14,17,20
if execution_hour >= 8 and execution_hour =< 20:
if delta_days > 3:
t.fire()
```
i have added a step : Build only this dataset
first test: Run every seconds : 60, la the scenario was never launched (Auto-triggers: on and custom trigger: on)
second test: I have added the second Time based trigger and activate it. The script launched even the condition in the custom trigger not verified.
can someone help me ?
Thanks
Please start a new thread and post your code under a code block (the </> icon on the toolbar). Without proper padding it's imposible to copy/paste your code to reproduce the issue.