org.cronjobs

Attributes

log

MON

TUE

WED

THU

FRI

SAT

SUN

WEEKDAYS

Functions

hourly_maintenance_tasks(→ None)

send_scheduled_newsletter(→ None)

send_daily_newsletter(→ None)

publish_files(→ None)

handle_publication_models(→ None)

Reindexes all recently published/unpublished objects

delete_old_tans(→ None)

Deletes TANs that are older than half a year.

delete_old_tan_accesses(→ None)

Deletes TAN accesses that are older than half a year.

process_resource_rules(→ None)

ticket_statistics_common_template_args(→ dict[str, Any])

ticket_statistics_users(→ list[onegov.user.User])

send_daily_ticket_statistics(→ None)

send_weekly_ticket_statistics(→ None)

send_monthly_ticket_statistics(→ None)

send_daily_resource_usage_overview(→ None)

end_chats_and_create_tickets(→ None)

archive_old_tickets(→ None)

delete_old_tickets(→ None)

send_monthly_mtan_statistics(→ None)

delete_content_marked_deletable(→ None)

Find all models inheriting from DeletableContentExtension, iterate

update_newsletter_email_bounce_statistics(→ None)

delete_unconfirmed_newsletter_subscriptions(→ None)

Delete unconfirmed newsletter subscriptions older than 7 days.

get_news_for_push_notification(...)

send_push_notifications_for_news(→ None)

Cronjob that runs every 10 minutes to send push notifications for news.

normalize_adjacency_list_order(→ None)

Normalizes the 'order' column for all AdjacencyList subclasses.

Module Contents

org.cronjobs.log[source]
org.cronjobs.MON = 0[source]
org.cronjobs.TUE = 1[source]
org.cronjobs.WED = 2[source]
org.cronjobs.THU = 3[source]
org.cronjobs.FRI = 4[source]
org.cronjobs.SAT = 5[source]
org.cronjobs.SUN = 6[source]
org.cronjobs.WEEKDAYS = ('MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU')[source]
org.cronjobs.hourly_maintenance_tasks(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.send_scheduled_newsletter(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.send_daily_newsletter(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.publish_files(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.handle_publication_models(request: onegov.org.request.OrgRequest, now: datetime.datetime) None[source]

Reindexes all recently published/unpublished objects in the elasticsearch database.

For pages it also updates the propagated access to any associated files.

For directory entries it also sends out e-mail notifications if published within the last hour.

org.cronjobs.delete_old_tans(request: onegov.org.request.OrgRequest) None[source]

Deletes TANs that are older than half a year.

Technically we could delete them as soon as they expire but for debugging purposes it makes sense to keep them around a while longer.

org.cronjobs.delete_old_tan_accesses(request: onegov.org.request.OrgRequest) None[source]

Deletes TAN accesses that are older than half a year.

Technically we could delete them as soon as they expire but for debugging purposes it makes sense to keep them around a while longer.

org.cronjobs.process_resource_rules(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.ticket_statistics_common_template_args(request: onegov.org.request.OrgRequest, collection: onegov.ticket.TicketCollection) dict[str, Any][source]
org.cronjobs.ticket_statistics_users(app: onegov.org.OrgApp) list[onegov.user.User][source]
org.cronjobs.send_daily_ticket_statistics(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.send_weekly_ticket_statistics(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.send_monthly_ticket_statistics(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.send_daily_resource_usage_overview(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.end_chats_and_create_tickets(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.archive_old_tickets(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.delete_old_tickets(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.send_monthly_mtan_statistics(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.delete_content_marked_deletable(request: onegov.org.request.OrgRequest) None[source]

Find all models inheriting from DeletableContentExtension, iterate over objects marked as deletable and delete them if expired.

Currently extended directory entries, news, events and occurrences.

org.cronjobs.update_newsletter_email_bounce_statistics(request: onegov.org.request.OrgRequest) None[source]
org.cronjobs.delete_unconfirmed_newsletter_subscriptions(request: onegov.org.request.OrgRequest) None[source]

Delete unconfirmed newsletter subscriptions older than 7 days.

org.cronjobs.get_news_for_push_notification(session: sqlalchemy.orm.Session) sqlalchemy.orm.Query[onegov.org.models.News][source]
org.cronjobs.send_push_notifications_for_news(request: onegov.org.request.OrgRequest) None[source]

Cronjob that runs every 10 minutes to send push notifications for news.

It collects all news items with: - Publication start date within the last 10 minutes - send_push_notifications_to_app flag enabled - Defined push_notifications topics

Then uses Firebase to send notifications to the corresponding topics.

org.cronjobs.normalize_adjacency_list_order(request: onegov.org.request.OrgRequest) None[source]

Normalizes the ‘order’ column for all AdjacencyList subclasses.

The midpoint insertion strategy for ‘order’ (Decimal) can lead to precision issues or very close values over time. This cronjob renumbers the ‘order’ for each group of siblings (same parent_id) sequentially starting from 1, effectively resetting the order values while preserving the relative order within each sibling group.