Re: event to create asynchronous task
Moritz Lenz <[email protected]> Mon, 25 Jul 2016 10:40:26 +0200
| Newsgroups | gmane.comp.otrs.devel |
|---|---|
| Message-ID | <[email protected]> |
This is an S/MIME signed message --===============1747874996439467295== Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----023176B5FAE0081D1601E7FFC586FBA2" This is an S/MIME signed message ------023176B5FAE0081D1601E7FFC586FBA2 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Hi, On 25.07.2016 10:02, Juan Manuel Clavero Almir=F3n wrote: > Hi all, >=20 > =20 >=20 > I have an event module that takes too much time so the user response > time is ridiculous. I was thinking of creating a new asynchronous task > from the event and then run the actions on the background. >=20 > =20 >=20 > I=92ve been reading the OTRS 5.0 dev manual : it refers to the task > handler and shows a test module located in > Kernel/Scheduler/TaskHandler/Test.pm, but my OTRS install doesn=92t hav= e > any Scheduler folder. >=20 > =20 >=20 > The admin manual refers to the OTRS Daemon, new feature in OTRS 5, and > I=92ve located some modules in the System folder, but I cannot find any > document on how to create a new process for the daemon. https://otrs.github.io/doc/manual/developer/stable/en/html/architecture-o= verview.html#Scheduler-TaskHandler talks about $OTRS_HOME/Kernel/Scheduler/TaskHandler/GenericInterface.pm, but I think the proper location is $OTRS_HOME/Kernel/System/Daemon/DaemonModules/SchedulerTaskWorker/Generic= Interface.pm But I don't think you have to actually touch any of the DaemonModules, the existing AsynchronousExecutor should do just fine. > Can anybody refer to some guide or explain how to register a new > asynchronous task? Here is an example of a task that is being executed asynchronously: https://github.com/OTRS/otrs/blob/43abbee47642a486177bb4ffe39c3677bdcaca5= 2/Kernel/System/Web/InterfaceAgent.pm#L385-L394 So one thing you could do is to write an ordinary, synchronous event that, like the example above, calls TaskAdd with Type =3D> 'AsynchronousExecutor' on a Kernel::System::Scheduler object. And another function which does the slow work you need to do, and then the Scheduler executes that for you in the background. Of course, that's all a very indirect way to approach that (but one that works without patching OTRS itself). I'd rather see a patch to Kernel::System::EventHandler that directly supports asynchronous execution, so that you could get rid of a writing a synchronous event that just triggers an asynchronous task. Best regards, Moritz ------023176B5FAE0081D1601E7FFC586FBA2 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIIY5gYJKoZIhvcNAQcCoIIY1zCCGNMCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 DQEHAaCCFPowggUaMIIEAqADAgECAhBtGeqnGU9qMyLmIjJ6qnHeMA0GCSqGSIb3 DQEBBQUAMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNh bHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAf BgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVT RVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMB4XDTExMDQy ODAwMDAwMFoXDTIwMDUzMDEwNDgzOFowgZMxCzAJBgNVBAYTAkdCMRswGQYDVQQI ExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoT EUNPTU9ETyBDQSBMaW1pdGVkMTkwNwYDVQQDEzBDT01PRE8gQ2xpZW50IEF1dGhl bnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCShIRbS1eY1F4vi6ThQMijU1hfZmXxMk73nzJ9VdB4TFW3 QpTg+SdxB8XGaaS5MsTxQBqQzCdWYn8XtXFpruUgG+TLY15gyqJB9mrho/+43x9I bWVDjCouK2M4d9+xF6zC2oIC1tQyatRnbyATj1w1+uVUgK/YcQodNwoCUFNslR2p EBS0mZVZEjH/CaLSTNxS297iQAFbSGjdxUq04O0kHzqvcV8H46y/FDuwJXFoPfQP 1hdYRhWBPGiLi4MPbXohV+Y0sNsyfuNK4aVScmQmkU6lkg//4LFg/RpvaFGZY40a i6XMQpubfSJj06mg/M6ekN9EGfRcWzW6FvOnm//BAgMBAAGjggFLMIIBRzAfBgNV HSMEGDAWgBSJgmd9xJ0mcABLtFBIfN49rgRufTAdBgNVHQ4EFgQUehNOAHRbxnhj ZCfBL+KgW7x5xXswDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAw EQYDVR0gBAowCDAGBgRVHSAAMFgGA1UdHwRRME8wTaBLoEmGR2h0dHA6Ly9jcmwu dXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUNsaWVudEF1dGhlbnRpY2F0aW9u YW5kRW1haWwuY3JsMHQGCCsGAQUFBwEBBGgwZjA9BggrBgEFBQcwAoYxaHR0cDov L2NydC51c2VydHJ1c3QuY29tL1VUTkFkZFRydXN0Q2xpZW50X0NBLmNydDAlBggr BgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQUF AAOCAQEAhda+eFdVbTN/RFL+QtUGqAEDgIr7DbL9Sr/2r0FJ9RtaxdKtG3NuPukm fOZMmMEwKN/L+0I8oSU+CnXW0D05hmbRoZu1TZtvryhsHa/l6nRaqNqxwPF1ei+e upN5yv7ikR5WdLL4jdPgQ3Ib7Y/9YDkgR/uLrzplSDyYPaUlv73vYOBJ5RbI6z9D g/Dg7g3B080zX5vQvWBqszv++tTJOjwf7Zv/m0kzvkIpOYPuM2kugp1FTahp2oAb Hj3SGl18R5mlmwhtEpmG1l1XBxunML5LSUS4kH7K0Xk467Qz+qA6XSZYnmFVGLQh 1ZnV4ENAQjC+6qXnlNKw/vN1+X9u5zCCBN0wggPFoAMCAQICEHGS++YZX6xNEoV0 cTSiGKcwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdy ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29t b2RvIENBIExpbWl0ZWQxITAfBgNVBAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNl czAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTlaMIGuMQswCQYDVQQGEwJV UzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNl cnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVu dGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8e fNIxB8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9 mKALi+VuG6JG+ni8om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXq vgvOdjp6Dpvq/NonWz1zHyLmSGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8d cdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udl y/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4IBJzCCASMwHwYDVR0jBBgwFoAUoBEK Iz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYEFImCZ33EnSZwAEu0UEh83j2uBG59 MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdJQQWMBQGCCsG AQUFBwMCBggrBgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwewYDVR0fBHQwcjA4 oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2 aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZp Y2F0ZVNlcnZpY2VzLmNybDARBglghkgBhvhCAQEEBAMCAQYwDQYJKoZIhvcNAQEF BQADggEBAJ2Vyzy4fqUJxB6/C8LHdo45PJTGEKpPDMngq4RdiVTgZTvzbRx8Nywl VF+WIfw3hJGdFdwUT4HPVB1rbEVgxy35l1FM+WbKPKCCjKbI8OLp1Er57D9Wyd12 jMOCAU9sAPMeGmF0BEcDqcZAV5G8ZSLFJ2dPV9tkWtmNH7qGL/QGrpxp7en0zykX 2OBKnxogL5dMUbtGB8SKN04g4wkxaMeexIud6H4RvDJoEJYRmETYKlFgTYjrdDrf QwYyyDlWjDoRUtNBpEMD9O3vMyfbOeAUTibJ2PU54om4k123KSZB6rObroP8d3XK 6Mq1/uJlSmM+RMTQw16Hc6mYHK9/FX8wggQyMIIDGqADAgECAgEBMA0GCSqGSIb3 DQEBBQUAMHsxCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0 ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVk MSEwHwYDVQQDDBhBQUEgQ2VydGlmaWNhdGUgU2VydmljZXMwHhcNMDQwMTAxMDAw MDAwWhcNMjgxMjMxMjM1OTU5WjB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3Jl YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21v ZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2Vz MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvkCd9G7h6naHHE1FRI6+ RsiDBp3BKv4YH47kAvrzq11QihYxC5oG0MVwIs1JLVRjzLZuaEYLU+rLTCTAvHJO 6vEVrvRUmhIKw3qyM2Di2olV8yJY897cz++DhqKMlE+faPKYkEaEJ8d2v+PMNSyL XgdkZYLASLCokflhn3YgUKiRx2a163hiA1bwihoT6jGjHqCZ/Tj29icyWG8H9Wu4 +xQrr7eqzNZjX3OM2gWZqDioyxd4NlGs6Z70eDqNzw/ZQuKYDKsvnw4B3u+fmUnx Ld+sdE0bmLVHxeUp0fmQGMdinL6DxyZ7Poolx8DdneY1aBAgnY/Y3tLDhJwNXugv yQIDAQABo4HAMIG9MB0GA1UdDgQWBBSgEQojPpbxB+zirynvgqV/0DCktDAOBgNV HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zB7BgNVHR8EdDByMDigNqA0hjJo dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy bDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L0FBQUNlcnRpZmljYXRlU2Vy dmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAIVvwC8Jvo/6T61nvGRIDOT8TF 9gBYzKa2vBRJaAR26ObuXewCD2DWjVAYTyZOAePmsKXuv7x0VEG//fwSuMdPWvSJ YAV/YLcFSvP28cK/xLl0hrYtfWvM0vNG3S/G4GrDwzQDLH2W3VrCDqcKmcEFi6sM L/NcOs9sN1UJh95TQGxY7/y2q2VuBPYb3DzgWhXGntnxWUgwIWUDbOzpIXPsmwOh 4DetoBUYj/q6As6nLKkQEyzU5QgmqyKXYPiQXnTUoppTvfKpaOCibsLXbLGjD56/ 62jnVvKu8uMrODoJgbVrhde+Le0/GreyY+L1YiyC1GoAQVDxOYOflek2lphuMIIG wTCCBamgAwIBAgIRAMxmCwZ/VkBEksmaCwVeekIwDQYJKoZIhvcNAQELBQAwgZsx CzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNV BAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMUEwPwYDVQQD EzhDT01PRE8gU0hBLTI1NiBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3Vy ZSBFbWFpbCBDQTAeFw0xNjA2MDkwMDAwMDBaFw0xNzA2MDkyMzU5NTlaMIG7MRIw EAYDVQQHDAlOw7xybmJlcmcxEjAQBgNVBAgMCU7DvHJuYmVyZzELMAkGA1UEBhMC REUxHTAbBgNVBAMMFG1vcml0ei5sZW56QG5vcmlzLmRlMSUwIwYDVQQLExwoRS1N YWlsIEdhdGV3YXkgQ2VydGlmaWNhdGUpMRkwFwYDVQQKExBub3JpcyBuZXR3b3Jr IEFHMSMwIQYJKoZIhvcNAQkBFhRtb3JpdHoubGVuekBub3Jpcy5kZTCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL6GR3jYhvijrthiaN7hHaXKpQZ8D9ZB RuCZEVCQgwDIXlWOLZZGL0wIvdAgvw0m0nvkBPDcm/5f78TLW5eftdvZ0oNPHAJS I9xQZpfnV/u2Afh6r2HXmibulOC7i0nDyXuRMJU6Eeq4P8nz21laUZZfO24qbNoW TKA/+0xIBeKA2hln6DbW1t/TTuW1lffSnwG3FpU/hbT4sEIH14dTnRaLRPGBYGz7 r+/iYGKFuCJbEsR5IlZrosmFz3tNqfTxtMqeLWbnNwLMGifAictzseihs+DAz66w 6NIY9I405shKf9q6OngThD6YgbQGlNY3I7nqXfpuo6wtV4Jokm09D1xRLMSo4OZ+ 3kahejLeewAOI/2AGrtL+LZEC7HblPGNUBy5RD91Gqq9PyGq3+g0W/jQgTyL48bL H1oxsNRVq33qBxxHJZZR8s3fYgbrFuFdkHsokMiBmNrg+VhEcSB4kW8C15vs1y2B QAccUuAwSsp9KazKtF1jxBkA0FPrErIsUpiE2zGBPZerocdxV11NmqupSNJhcgfu 3+rupmXiR0g8Clw4x3VlpQNBhuKIVMRivs+TKPQJFsf1HbuYZp6a4Wz5vn0ddQN+ n1mMnRsOTEwb4vephj+qcXzHuXPgmbF5wlqxDL/udq2RcEUuFQT7+iWlHITOHHg6 8pRHR3hdKybjAgMBAAGjggHcMIIB2DAfBgNVHSMEGDAWgBSSYWuC4aKgqk/sZ/HC o/e0gADB7DAdBgNVHQ4EFgQUCsKeB61nHspmPwnQ112bkZFZNDMwDgYDVR0PAQH/ BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUF BwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMFMCswKQYIKwYBBQUHAgEWHWh0 dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMF0GA1UdHwRWMFQwUqBQoE6GTGh0 dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1NIQTI1NkNsaWVudEF1dGhlbnRp Y2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgZAGCCsGAQUFBwEBBIGDMIGAMFgG CCsGAQUFBzAChkxodHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9TSEEyNTZD bGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3J0MCQGCCsGAQUF BzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wHwYDVR0RBBgwFoEUbW9yaXR6 LmxlbnpAbm9yaXMuZGUwDQYJKoZIhvcNAQELBQADggEBAA3EwvRRH/QQDodD/cGf EMG8E8A0pFP9OOovmtADMwfGpuBFv9BaB+ui3WpD8HWlyiAirC1mFZLQdsdNZ9G3 9wsquS8USWu7t4NmhsDFdiwKtzbepLiKiO0zVFt9dUJf4Dr4+Kf6ySMqKD0XcyVT TtXlY7Pi/We3IdauBtQEHQsGTBUuTrEs8TNM0V/3YOKivYHNb6PaesIe7xGuFC1h ckHrbRDeVN4ugDY3oT8MBZHS3le1JsHgZwhhFN8SpgeRhne+pfVCwvXMheMQ0TNQ V33RLrVhz2y90Snt5gb2F5prbiVEqFf+NYbagSoD1E4JNokg2iBpHtWmFj54M2VI hzIxggO0MIIDsAIBATCBsTCBmzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0 ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RP IENBIExpbWl0ZWQxQTA/BgNVBAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRo ZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAzGYLBn9WQESSyZoLBV56 QjAJBgUrDgMCGgUAoIHYMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI hvcNAQkFMQ8XDTE2MDcyNTA4NDAzMlowIwYJKoZIhvcNAQkEMRYEFB72njFUwXoz lTNcNznp+wsbZL78MHkGCSqGSIb3DQEJDzFsMGowCwYJYIZIAWUDBAEqMAsGCWCG SAFlAwQBFjALBglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCA MA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMA0GCSqGSIb3 DQEBAQUABIICABb2ugKEO3SE9/S6aYnxyygmIb0zL3JDH9n+GnXzpptGhOVEkBNh ha1EAn9N+8qpkK+V9J0YhGONZk6DGBPrhvWXRjWC7UdN/xTvngW8szoCFvW83hmH KUlG2SY9kEdK7w5BuJ2lBJjvkdQ1AHNL258EJO+eE7+chimoKBHct0vN4FEG5YPf zDT4mp0SaOfmpuSxYDyKV5onRyqgLKz4+qQZ/hGRQPjaQZEgv3hquMktViXquPpJ mBXveOVK3wZhdcrgCygfAo9cbtDGBCcSZkIoZGDYawIVf1M2QxKY1NH64huIk/Wq aMq5m0GrZyShrlRjXdNxoWjhiFHVlwWtsKlueUpsGWYv9e41y6ey8v0aFa38Bxtm kn1sOdOTWq6PReVjS7jTjkbQAkKFfpjEkOr5wTmxELzVVPGzXq8przkWFJIAOptJ 88gWmMBiUr7htFGp6mz8un27PTlW22Hyf2MowusVLrHkHrVvxM+aKfzQXrFcJLPM 1PLh8NNd/qyojU0m4jc3EprxFfhnloIL6onHofw/TCfSyBYQs2gVcJZql5b+sk+0 CNbjuhnxqyQRq2o/XvSt1vPN6kh70Ix8tBT0zmLJcXXAoangJ93cue7ZgTpic1vv u7nePMqHUpFMMBf36xDKreTzB/chiasx01CBoMBD7R3VrELGqmXN27hW ------023176B5FAE0081D1601E7FFC586FBA2-- --===============1747874996439467295== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/mailman/listinfo/dev --===============1747874996439467295==--