{"id":199,"date":"2009-08-21T11:20:44","date_gmt":"2009-08-21T05:50:44","guid":{"rendered":"https:\/\/2thenew.today\/blog\/?p=199"},"modified":"2016-12-19T15:28:11","modified_gmt":"2016-12-19T09:58:11","slug":"grails-caching-using-cron-jobs","status":"publish","type":"post","link":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/","title":{"rendered":"Grails: caching using cron jobs"},"content":{"rendered":"<p><em><\/em>Hi,<\/p>\n<p>We needed to cache the result of a webservice. We were using grails 1.1.1 version and springcache plugin for caching. Unfortunately, current springcache version didn&#8217;t work with grails 1.1.1. So we decided to cache the results using cron jobs, which will run in the background after every 1hr and store the results in a list, which will have a application level scope.<\/p>\n<p>To implement this functionality, we used quartz plugin (http:\/\/grails.org\/Quartz+plugin). This made our job easier. Below I have given the code, which did caching for us :<\/p>\n<blockquote>\n<div class=\"wp_syntax\">\n<div class=\"code\">\n<pre class=\"groovy\">import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH<\/pre>\n<\/div>\n<p>class FetchRecentBlogsJob {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0def utilService<br \/>\n\u00a0\u00a0\u00a0\u00a0 \u00a0def concurrent = false<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0 def startDelay = 1000*10<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0 def timeout = 1000*60*60<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 def execute() {<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CH.config.recentBlogs = utilService.getRecentExcerptedPosts(2)<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }<br \/>\n}<\/p><\/div>\n<\/blockquote>\n<p>This excute method in the above class runs after every one hour, which gets the result from the service and updates our list. The frequency at which we need to update the list can be set using number of properties as given in the documentation of quartz plugin.<\/p>\n<p>Hope this helped.<\/p>\n<p>Cheers!!<br \/>\n~~Amit Jain~~<br \/>\namit@intelligrape.com<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"5SYzHyl2LG\"><p><a href=\"https:\/\/2thenew.today\/blog\/\">Home<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cHome\u201d \u2014 TO THE NEW Blog\" src=\"https:\/\/2thenew.today\/blog\/embed\/#?secret=j7RkfsqYB6#?secret=5SYzHyl2LG\" data-secret=\"5SYzHyl2LG\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn&#8217;t work.<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":16,"footnotes":""},"categories":[7],"tags":[118,117,119],"class_list":["post-199","post","type-post","status-publish","format-standard","hentry","category-grails","tag-caching","tag-grails-111","tag-quartz-plugin"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn&#039;t work.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Amit Jain\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Grails: caching using cron jobs | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn&#039;t work.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Grails: caching using cron jobs | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn&#039;t work.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#article\",\"name\":\"Grails: caching using cron jobs | TO THE NEW Blog\",\"headline\":\"Grails: caching using cron jobs\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amit\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2009-08-21T11:20:44+05:30\",\"dateModified\":\"2016-12-19T15:28:11+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#webpage\"},\"articleSection\":\"Grails, caching, grails 1.1.1, quartz plugin\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#listItem\",\"name\":\"Grails: caching using cron jobs\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#listItem\",\"position\":3,\"name\":\"Grails: caching using cron jobs\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amit\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amit\\\/\",\"name\":\"Amit Jain\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/1cbbcbd3-718c-4d6d-829c-4e225ae91a1a_amit.jain@tothenew.com.jpg\",\"width\":96,\"height\":96,\"caption\":\"Amit Jain\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/\",\"name\":\"Grails: caching using cron jobs | TO THE NEW Blog\",\"description\":\"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn't work.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-caching-using-cron-jobs\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amit\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amit\\\/#author\"},\"datePublished\":\"2009-08-21T11:20:44+05:30\",\"dateModified\":\"2016-12-19T15:28:11+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Grails: caching using cron jobs | TO THE NEW Blog","description":"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn't work.","canonical_url":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#article","name":"Grails: caching using cron jobs | TO THE NEW Blog","headline":"Grails: caching using cron jobs","author":{"@id":"https:\/\/2thenew.today\/blog\/author\/amit\/#author"},"publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"},"datePublished":"2009-08-21T11:20:44+05:30","dateModified":"2016-12-19T15:28:11+05:30","inLanguage":"en-US","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#webpage"},"articleSection":"Grails, caching, grails 1.1.1, quartz plugin"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.today\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/2thenew.today\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#listItem","name":"Grails: caching using cron jobs"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#listItem","position":3,"name":"Grails: caching using cron jobs","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.today\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.today\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.today\/blog\/author\/amit\/#author","url":"https:\/\/2thenew.today\/blog\/author\/amit\/","name":"Amit Jain","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/1cbbcbd3-718c-4d6d-829c-4e225ae91a1a_amit.jain@tothenew.com.jpg","width":96,"height":96,"caption":"Amit Jain"}},{"@type":"WebPage","@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#webpage","url":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/","name":"Grails: caching using cron jobs | TO THE NEW Blog","description":"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn't work.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.today\/blog\/author\/amit\/#author"},"creator":{"@id":"https:\/\/2thenew.today\/blog\/author\/amit\/#author"},"datePublished":"2009-08-21T11:20:44+05:30","dateModified":"2016-12-19T15:28:11+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.today\/blog\/#website","url":"https:\/\/2thenew.today\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Grails: caching using cron jobs | TO THE NEW Blog","og:description":"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn't work.","og:url":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/","og:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Grails: caching using cron jobs | TO THE NEW Blog","twitter:description":"Grails : Caching using cron jobs i.e using quartz plugin. As with grails 1.1.1 plugin springcache plugin didn't work.","twitter:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"199","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-30 05:37:16","updated":"2024-02-29 08:44:58","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGrails: caching using cron jobs\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.today\/blog"},{"label":"Grails","link":"https:\/\/2thenew.today\/blog\/category\/grails\/"},{"label":"Grails: caching using cron jobs","link":"https:\/\/2thenew.today\/blog\/grails-caching-using-cron-jobs\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/comments?post=199"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/199\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/media?parent=199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/categories?post=199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/tags?post=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}