Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trying to schedule a dashboard delivery via email throws an error #8884

Open
visakhmurukes opened this issue Dec 23, 2019 · 2 comments
Open

Trying to schedule a dashboard delivery via email throws an error #8884

visakhmurukes opened this issue Dec 23, 2019 · 2 comments
Labels

Comments

@visakhmurukes
Copy link

@visakhmurukes visakhmurukes commented Dec 23, 2019

When trying to schedule email delivery for a dashboard using Manage -> Dashboard Emails option creates a celery task on background which errors out due to timeout issues. Tried setting a higher timeout value but the error persists

Expected results

Expecting dashboard to get delivered to intended recipients as per set schedule
what you expected to happen.

Actual results

Gets the below error from the celery worker task

ERROR/MainProcess] Task handler raised error: TimeLimitExceeded(1200,)
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/billiard/pool.py", line 658, in on_hard_timeout
raise TimeLimitExceeded(job._timeout)
billiard.exceptions.TimeLimitExceeded: TimeLimitExceeded(1200,)
[2019-12-22 07:38:08,788: ERROR/MainProcess] Hard time limit (1200s) exceeded for email_reports.send[12494507-277d-4e31-9bd4-876b7f9525a3]
[2019-12-22 07:38:08,899: ERROR/MainProcess] Process 'ForkPoolWorker-1' pid:61809 exited with 'signal 9 (SIGKILL)'

Screenshots

Dashboard schedule
Celerywrk

How to reproduce the bug

  1. Start a celery worker and celery beat session as per superset article
  2. Create a sample dashboard
  3. Go to Manage -> Dashboard Emails option
  4. select the sample dashboard and set a cron tab schedule like say 10 * * *
  5. Save it
  6. In the celery worker terminal you can see a warning stating softtimeout exceeded followed by an error with above stated message

Environment

(please complete the following information):

  • superset version: 0.33.0rc1
  • python version: 3.6.9

Checklist

Make sure these boxes are checked before submitting your issue - thank you!

  • I have checked the superset logs for python stacktraces and included it here as text if there are any.
  • I have reproduced the issue with at least the latest released version of superset.
  • I have checked the issue tracker for the same issue and I haven't found one similar.
@issue-label-bot issue-label-bot bot added the #bug label Dec 23, 2019
@issue-label-bot

This comment has been minimized.

Copy link

@issue-label-bot issue-label-bot bot commented Dec 23, 2019

Issue-Label Bot is automatically applying the label #bug to this issue, with a confidence of 0.97. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@blcksrx

This comment has been minimized.

Copy link
Contributor

@blcksrx blcksrx commented Dec 23, 2019

Confirmed, This issue happens because of setting celery task soft timeout hardcode in the tasks/schedule.py:

@celery_app.task(name="email_reports.send", bind=True, soft_time_limit=300)

I will create a PR for that.

@blcksrx blcksrx mentioned this issue Dec 23, 2019
2 of 12 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.