Jump to content

Sending a message


Andriy Babak

Recommended Posts

Hi,

I need to send an application launch event to a running ftrack connect of current user. I tried many options but the events just go to nowhere. As I started to test the event system I came across the "send_message_to_user" code from the "ftrack-recipes" that looked like a good start.

Unfortunately, this code shows exactly the same: the evnts are sent but never received. I've double checked that the session.api_user is the same and the connection is established to the same server. I tried to switch the 'synchronous' option but that didn't change anything.

Here's my test code that runs fine but no messages are shown in the web client:

import ftrack_api


def main():
    """
    Main entry point
    """
    # Subscribe to events with the update topic.
    session = ftrack_api.Session(auto_connect_event_hub=True)
    session.event_hub.publish(
        ftrack_api.event.base.Event(
            topic='ftrack.action.trigger-user-interface',
            data=dict(type='message', success=True, message='test message'),
            target='applicationId=ftrack.client.web and user.id="{0}"'.format(
                session.api_user
            ),
        ),
        synchronous=True,
        on_error='ignore',
    )
    print("Done")
    session.event_hub.wait()


if __name__ == "__main__":
    main()

 

Link to comment
Share on other sites

Hi Andriy,

 

session.api_user is a username, not an id, so your line should instead read:

target='applicationId=ftrack.client.web and user.username="{0}"'.format(

 

Also, when setting "synchronous" to True, only the listeners registered with that specific local instance of Python (i.e. plugins whose register() methods were called when the session was created) will be notified--there is no communication across the network or even between processes.

 

I hope that helps! Let us know if you have further questions.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...