Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a timer for running saved searches #6910

Closed
scolapasta opened this issue May 12, 2020 · 2 comments · Fixed by #7152
Closed

Add a timer for running saved searches #6910

scolapasta opened this issue May 12, 2020 · 2 comments · Fixed by #7152
Assignees

Comments

@scolapasta
Copy link
Contributor

We currently have a way to define a saved search that gets associated with a dataverse (anything that matches that search gets linked to that dataverse) and an API to rerun the search. However, this API currently needs to be called manually*.

(*) when saved search functionality was added, we did not yet have a Timer Service, and we had planned on just using a cron job to automatically call the api

We should add a Timer, similar to Export Service or Harvesting, that runs these saved searches automatically.

@djbrooke
Copy link
Contributor

@scolapasta is this a timer for Harvard Dataverse only or does it require a code change to Dataverse? If former, do we just provide docs?

@scolapasta
Copy link
Contributor Author

Code change.

@rtreacy rtreacy self-assigned this Jul 23, 2020
@djbrooke djbrooke moved this from Up Next 🛎 to IQSS Team - In Progress 💻 in IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) Jul 23, 2020
rtreacy added a commit to rtreacy/dataverse that referenced this issue Jul 31, 2020
The timer method wraps the makeLinksForAllSavedSearches in a no-param method returning void with the @schedule annotation.
The timer is sheduled to run once a week on Sunday at 12:30 AM. If we decide a different schedule is better in general, we
should adjust thiis in the code before release. In special cases the schedule can be modified using and ejb-jar.xml file
of the form(for ex Tuesday 2:30 PM) :

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns = "http://java.sun.com/xml/ns/javaee"
         version = "3.1"
         xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">
    <enterprise-beans>
        <session>
            <ejb-name>SavedSearchServiceBean</ejb-name>
            <ejb-class>edu.harvard.iq.dataverse.search.savedsearch.SavedSearchServiceBean</ejb-class>
            <session-type>Stateless</session-type>
            <timer>
                <schedule>
                    <minute>30</minute>
                    <hour>14</hour>
                    <day-of-week>Tue</day-of-week>
                </schedule>
                <timeout-method>
                    <method-name>makeLinksForAllSavedSearchesTimer</method-name>
                </timeout-method>
            </timer>
        </session>
    </enterprise-beans>
</ejb-jar>
@rtreacy rtreacy moved this from IQSS Team - In Progress 💻 to Code Review 🦁 in IQSS/dataverse (TO BE RETIRED / DELETED in favor of project 34) Jul 31, 2020
pdurbin added a commit that referenced this issue Aug 5, 2020
- made sample file downloadable
- removed line from API Guide about cron job (not needed now)
- linked pages about Saved Search to each other
- typos, formatting
rtreacy added a commit to rtreacy/dataverse that referenced this issue Aug 5, 2020
kcondon added a commit that referenced this issue Aug 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants