[Tickets #12588] Re: Activesync Ping Request Limit
noreply at bugs.horde.org
noreply at bugs.horde.org
Tue Aug 20 15:02:23 UTC 2013
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/12588
------------------------------------------------------------------------------
Ticket | 12588
Updated By | Michael Rubinsky <mrubinsk at horde.org>
Summary | Activesync Ping Request Limit
Queue | Synchronization
Version | Git master
Type | Enhancement
-State | New
+State | Feedback
Priority | 1. Low
Milestone |
Patch |
-Owners |
+Owners | Michael Rubinsky
------------------------------------------------------------------------------
Michael Rubinsky <mrubinsk at horde.org> (2013-08-20 15:02) wrote:
We already have code that does this. See:
Horde_ActiveSync_Collections::pollForChanges(). We store the starting
timestamp of each PING or Heartbeat SYNC request in the syncCache,
then on each iteration of the PING/SYNC loop we verify that the
timestamp of the currently running sync is not older than the
timestamp stored in the syncCache (which would indicate another PING
process has started). With this code, there should never be more than
2 running PING requests at anytime, and the older request should
detect that it's stale and die.
If this is not working for you, I would need to see the synclog
covering the requests that this is failing for.
FWIW I wanted to use a semaphore to monitor this, but the shared
memory functions in PHP needed to do this are not present on every
system. Horde_Cache could be used, but there is no guarantee that one
is available. At some point, I'll probably end up sniffing out the
available capabilities then fall back to the syncCache method though
this will add complexity.
More information about the bugs
mailing list