mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
[SIP-3] Scheduled email reports for Slices / Dashboards (#5294)
* [scheduled reports] Add support for scheduled reports * Scheduled email reports for slice and dashboard visualization (attachment or inline) * Scheduled email reports for slice data (CSV attachment on inline table) * Each schedule has a list of recipients (all of them can receive a single mail, or separate mails) * All outgoing mails can have a mandatory bcc - for audit purposes. * Each dashboard/slice can have multiple schedules. In addition, this PR also makes a few minor improvements to the celery infrastructure. * Create a common celery app * Added more celery annotations for the tasks * Introduced celery beat * Update docs about concurrency / pools * [scheduled reports] - Debug mode for scheduled emails * [scheduled reports] - Ability to send test mails * [scheduled reports] - Test email functionality - minor improvements * [scheduled reports] - Rebase with master. Minor fixes * [scheduled reports] - Add warning messages * [scheduled reports] - flake8 * [scheduled reports] - fix rebase * [scheduled reports] - fix rebase * [scheduled reports] - fix flake8 * [scheduled reports] Rebase in prep for merge * Fixed alembic tree after rebase * Updated requirements to latest version of packages (and tested) * Removed py2 stuff * [scheduled reports] - fix flake8 * [scheduled reports] - address review comments * [scheduled reports] - rebase with master
This commit is contained in:
committed by
Maxime Beauchemin
parent
f366bbe735
commit
808622414c
@@ -4,6 +4,10 @@ from os import path
|
||||
FIXTURES_DIR = 'tests/fixtures'
|
||||
|
||||
|
||||
def read_fixture(fixture_file_name):
|
||||
with open(path.join(FIXTURES_DIR, fixture_file_name), 'rb') as fixture_file:
|
||||
return fixture_file.read()
|
||||
|
||||
|
||||
def load_fixture(fixture_file_name):
|
||||
with open(path.join(FIXTURES_DIR, fixture_file_name)) as fixture_file:
|
||||
return json.load(fixture_file)
|
||||
return json.loads(read_fixture(fixture_file_name))
|
||||
|
||||
Reference in New Issue
Block a user