]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Replace loopingcall in notifier with a delayed send
authorCarl Baldwin <carl.baldwin@hp.com>
Wed, 2 Apr 2014 16:53:33 +0000 (16:53 +0000)
committerThomas Goirand <thomas@goirand.fr>
Mon, 9 Jun 2014 15:06:55 +0000 (23:06 +0800)
commitdb59f78aafb5c0f88a6a7b81ab0dc1c24037add5
tree04107fa65ae0cadba2a8e5eec7215aa8013bf55e
parentc20036e407cd5f80b1d42344c6af1c8c41416e66
Replace loopingcall in notifier with a delayed send

The loopingcall thread here was started before processes fork and so
the thread stops working after the fork call.  This is a problem that
will probably need to be worked out in the long run.

To ensure that this notifier works correctly in all processes, this
change replaces the persistent loopingcall thread with a thread
created on demand to delay and batch up notifications.  The first
notification will trigger spawning the thread to wait to send it.  Any
notifications that come in the meantime will notice that there is
already a thread waiting to send and will return without spawning.

Conflicts:
        neutron/notifiers/nova.py

Change-Id: I519d4e89b8cee341c0e1cfffbce3e77151e8202a
Closes-Bug: #1301035
(cherry picked from commit 3be1d7a75c5ec754825e99e0a8d95b4e1521ae4b)
neutron/notifiers/nova.py
neutron/tests/unit/notifiers/test_notifiers_nova.py