42 | | 1. A background task "check_subscriptions" (installed in zzz_1st_run.py) is run every 5 minutes to check for updates of resources which have subscriptions. This task schedules a separate, asynchronous "notify_notify" task for each resource/subscription pair which has updates. |
43 | | 2. Each "notify_notify" task generates a local HTTP POST request to the subscribed controller (request format "msg"), applying the subscription filters. |
44 | | 3. This request is handled by the S3Notifications.send() method, impersonating the subscriber. The send() method extracts the new/updated records, and renders and sends the notification message(s) to the subscriber. Sending of the messages uses current.msg.send_by_pe_id(), which in turn uses the contact information of the subscriber stored in pr_contact. |
| 42 | 1. A background task "check_subscriptions" (installed in ''zzz_1st_run.py'') is run '''every 5 minutes''' to check for updates of resources which have subscriptions. This task schedules a separate, asynchronous "notify_notify" task for each resource/subscription pair which has updates. |
| 43 | 2. Each "notify_notify" task generates a '''local HTTP POST''' request to the subscribed controller (request format "msg"), applying the subscription filters. |
| 44 | 3. This request is handled by the {{{S3Notifications.send()}}} method, impersonating the subscriber. The send() method extracts the new/updated records, and renders and sends the notification message(s) to the subscriber. Sending of the messages uses {{{current.msg.send_by_pe_id()}}}, which in turn uses the contact information of the subscriber stored in {{{pr_contact}}}. |