<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>I recently wrote to Nick about this as well: <a href="http://lists.koha-community.org/pipermail/koha-devel/2018-June/044605.html">http://lists.koha-community.org/pipermail/koha-devel/2018-June/044605.html</a>. I wrote my own job server for Bug 10662 but figured the Koha community would never accept it, so I scrapped it and made a purpose-built scheduler just for OAI-PMH harvesting, since the sponsor had particular requirements. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>I’m also interested to see the work Jonathan does on this. I know I’m pretty time poor at the moment (for many reasons), so I can’t offer much except feedback.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>When I was working on Bug 10662, I looked at Minion… and I think the main reasons I didn’t use it were because Koha hadn’t really adopted Mojolicious yet and I couldn’t see a way to tell a worker to cancel in-progress tasks/jobs and I couldn’t remove queued jobs that were already enqueued and it used a database whereas I wanted to use an in-memory queue to keep it separate from Koha.  But if Koha does further embrace Mojolicious and we’re not needing to interact with jobs/tasks once they’ve been queued and we don’t mind baking the scheduler into the Koha database schema… I would be in favour of using Minion. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>Standing on the shoulders of giants sounds like a plan to me.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>David Cook<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Systems Librarian<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Prosentient Systems<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>72/330 Wattle St<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Ultimo, NSW 2007<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Australia<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Office: 02 9212 0899<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>Direct: 02 8005 0595<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> koha-devel-bounces@lists.koha-community.org [mailto:koha-devel-bounces@lists.koha-community.org] <b>On Behalf Of </b>Renvoize, Martin<br><b>Sent:</b> Monday, 18 June 2018 5:47 PM<br><b>To:</b> Jonathan Druart <jonathan.druart@bugs.koha-community.org><br><b>Cc:</b> Koha-devel <koha-devel@lists.koha-community.org><br><b>Subject:</b> Re: [Koha-devel] Bug 1993 - Task Scheduler Needs Re-write<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Interested to see what you've started Jonathan,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>In rebus:list we used Minion, the job queue spin-off project from the same guys that wrote Mojolicious. Granted, it works best with a PostgreSQL backend, but I believe there are MySQL backends too.. I'd probably start there... the more I worked with them the more complicated I came to realise queues are.. lean on the shoulders of giants and all that ;)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Martin<o:p></o:p></p></div></div><div><p class=MsoNormal><br clear=all><o:p></o:p></p><div><div><div><div><div><div><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=0 style='width:307.5pt'><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Martin Renvoize</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'><o:p></o:p></span></p></td></tr><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Development Manager<o:p></o:p></span></p></td></tr><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Arial",sans-serif'> <o:p></o:p></span></p></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>T:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> +44 (0) 1483 378728<o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>F:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> +44 (0) 800 756 6384<o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>E:</span></strong><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'> <a href="mailto:martin.renvoize@ptfs-europe.com" target="_blank"><span style='color:#2D5C88;text-decoration:none'>martin.renvoize@ptfs-europe.com</span></a><o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'><a href="https://www.ptfs-europe.com" target="_blank"><span style='color:#2D5C88;text-decoration:none'>www.ptfs-europe.com</span></a><o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Arial",sans-serif'> <o:p></o:p></span></p></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td colspan=2 style='padding:0cm 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt;line-height:15.0pt'><a href="https://www.ptfs-europe.com" target="_blank"><span style='text-decoration:none'><img border=0 id="_x0000_i1025" src="https://www.ptfs-europe.com/wp-content/uploads/2014/09/ptfs_logo1.png"></span></a><o:p></o:p></p></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr><tr><td style='padding:0cm 0cm 0cm 0cm'></td><td style='padding:0cm 0cm 0cm 0cm'></td></tr></table><p class=MsoNormal><span style='display:none'><o:p> </o:p></span></p><table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 style='border:none;border-top:solid #C2C2C2 1.0pt'><tr><td style='border:none;padding:15.0pt 0cm 0cm 0cm'><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>Registered in the United Kingdom No. 06416372   VAT Reg No. 925 7211 30<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:9.0pt;font-family:"Arial",sans-serif;color:#2D5C88'>The information contained in this email message may be privileged, confidential and protected from disclosure. If you are not the intended recipient, any dissemination, distribution or copying is strictly prohibited. If you think that you have received this email message in error, please email the sender at <a href="mailto:info@ptfs-europe.com" target="_blank">info@ptfs-europe.com</a><o:p></o:p></span></p></td></tr></table><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On 14 June 2018 at 17:16, Jonathan Druart <<a href="mailto:jonathan.druart@bugs.koha-community.org" target="_blank">jonathan.druart@bugs.koha-community.org</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><p class=MsoNormal>Few links:<o:p></o:p></p></div><div><p class=MsoNormal><a href="http://lists.koha-community.org/pipermail/koha-devel/2017-February/043489.html" target="_blank">http://lists.koha-community.org/pipermail/koha-devel/2017-February/043489.html</a><o:p></o:p></p></div><div><p class=MsoNormal><a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10662" target="_blank"><b>Bug 10662</b></a> - Build OAI-PMH Harvesting Client<o:p></o:p></p></div><div><p class=MsoNormal><a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15032" target="_blank"><b>Bug 15032</b></a> - [Plack] Scripts that fork (like <a href="http://stage-marc-import.pl" target="_blank">stage-marc-import.pl</a>) don't work as expected<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Basically we need a daemon watching a job queue (DB table) to answer all these needs at once.<o:p></o:p></p></div><div><p class=MsoNormal>I have started something already, I will get back to it when I will have time (and motivation).<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Cheers,<o:p></o:p></p></div><div><p class=MsoNormal>Jonathan<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><div><p class=MsoNormal>On Thu, 14 Jun 2018 at 12:59 Barton Chittenden <<a href="mailto:barton@bywatersolutions.com" target="_blank">barton@bywatersolutions.com</a>> wrote:<o:p></o:p></p></div></div></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><div><p class=MsoNormal>This is an old issue that's never really been addressed. As I understand it, at one time, we had a tool that used the unix 'at' scheduler to run requested reports. This was a huge security hole, and we disabled it.... and it's never worked since.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>As such, those who host servers must add calls to <a href="http://runreport.pl" target="_blank">runreport.pl</a> by hand.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Bug 1993 was opened to address this. It was marked as 'In Discussion' in 2013. I would like to see this move forward -- server admins are dying from a thousand paper cuts, and I think that users would benefit from having more control over when their reports are scheduled.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>What still needs to be discussed here?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks,<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>--Barton<o:p></o:p></p></div></div></div></div><p class=MsoNormal>_______________________________________________<br>Koha-devel mailing list<br><a href="mailto:Koha-devel@lists.koha-community.org" target="_blank">Koha-devel@lists.koha-community.org</a><br><a href="http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" target="_blank">http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a><br>website : <a href="http://www.koha-community.org/" target="_blank">http://www.koha-community.org/</a><br>git : <a href="http://git.koha-community.org/" target="_blank">http://git.koha-community.org/</a><br>bugs : <a href="http://bugs.koha-community.org/" target="_blank">http://bugs.koha-community.org/</a><o:p></o:p></p></blockquote></div><p class=MsoNormal><br>_______________________________________________<br>Koha-devel mailing list<br><a href="mailto:Koha-devel@lists.koha-community.org">Koha-devel@lists.koha-community.org</a><br><a href="http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" target="_blank">http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a><br>website : <a href="http://www.koha-community.org/" target="_blank">http://www.koha-community.org/</a><br>git : <a href="http://git.koha-community.org/" target="_blank">http://git.koha-community.org/</a><br>bugs : <a href="http://bugs.koha-community.org/" target="_blank">http://bugs.koha-community.org/</a><o:p></o:p></p></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>