The real error was PypoMessageHandler wasn't consuming messages from RabbitMQ, thus schedules were only updated on PypoFetch time out. Proably queue is in a stale state because it didn't recover from a broken connection. The issue is a SimpleQueue was being used, which's 'python-like' *get* method apparently doesn't handle recovery. Consumers are the way to go instead.