GithubHelp home page GithubHelp logo

Comments (5)

Seldaek avatar Seldaek commented on May 17, 2024

Could you try adding this in the original PushoverHandler and see if it fixes it?

    public function write(array $record)
    {
        parent::write($record);
        $this->closeSocket();
    }

This would close the socket after every call instead of keeping it open.

Another thing to try would be to add $this->setPersistent(true); to the constructor of the PushoverHandler, that way maybe it would just reuse the same socket for the two handlers, but I'm not sure.

On a sidenote, doesn't the pushover api allow sending a message to more than one person at once? That would be a better option :)

from monolog.

AlexButter avatar AlexButter commented on May 17, 2024

I'll try those two suggestions tomorrow and let you know if they work out.
As for the pushover api itself, it only works for one user per push. I'll
see if I can submit a ticket to them to enable multiple users on a push, I
agree that would be a better option!

On 14 January 2013 18:24, Jordi Boggiano [email protected] wrote:

Could you try adding this in the original PushoverHandler and see if it
fixes it?

public function write(array $record)
{
    parent::write($record);
    $this->closeSocket();
}

This would close the socket after every call instead of keeping it open.

Another thing to try would be to add $this->setPersistent(true); to the
constructor of the PushoverHandler, that way maybe it would just reuse the
same socket for the two handlers, but I'm not sure.

On a sidenote, doesn't the pushover api allow sending a message to more
than one person at once? That would be a better option :)


Reply to this email directly or view it on GitHubhttps://github.com//issues/146#issuecomment-12229116.

from monolog.

AlexButter avatar AlexButter commented on May 17, 2024

Using the setPersistent() method doesn't work, as only the first message is received.
Not sure why, but probably to do with the SSL/ HTTPS connection (even though pushover.net does send a Connection: keep-alive header).

Calling closeSocket() works, but only for the pushover.net application's owner because the PushOver API only allows messages to other users than the application's owner when connecting over SSL.

So, the fix for PushoverHandler.php:37 is:

parent::__construct('ssl://api.pushover.net:443', $level, $bubble);

instead of:

parent::__construct('api.pushover.net:80', $level, $bubble);

So the solution to our specific problem is to close the socket on every push while connecting over SSL.

Be aware that setPersistent() and SSL might be mutually exclusive...

from monolog.

Seldaek avatar Seldaek commented on May 17, 2024

OK thanks for trying. I think using ssl + closeSocket() is a better approach than curl because curl isn't always available (neither is openssl, but I think it's more common). If you would like to submit a pull request with this approach it'd be great.

If you get any news from their side about multi-user-push please update this issue.

from monolog.

AlexButter avatar AlexButter commented on May 17, 2024

Closing this, see #148

from monolog.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.