1
+ class SitemapRefreshWorker
2
+ include Sidekiq ::Worker
3
+ sidekiq_options queue : :high
4
+
5
+ def perform
6
+ SitemapGenerator ::Sitemap . default_host = "https://coderwall.com"
7
+ SitemapGenerator ::Sitemap . public_path = 'tmp/'
8
+ SitemapGenerator ::Sitemap . sitemaps_host = "http://#{ ENV [ 'FOG_DIRECTORY' ] } .s3.amazonaws.com/"
9
+ SitemapGenerator ::Sitemap . sitemaps_path = 'sitemaps/'
10
+ SitemapGenerator ::Sitemap . adapter = SitemapGenerator ::WaveAdapter . new
11
+
12
+ SitemapGenerator ::Sitemap . create do
13
+ add '/welcome' , :priority => 0.7 , :changefreq => 'montlhy'
14
+ add '/contact_us' , :priority => 0.5 , :changefreq => 'montlhy'
15
+ add '/blog' , :priority => 0.7 , :changefreq => 'weekly'
16
+ add '/api' , :priority => 0.5 , :changefreq => 'monthly'
17
+ add '/faq' , :priority => 0.5 , :changefreq => 'monthly'
18
+ add '/privacy_policy' , :priority => 0.2 , :changefreq => 'monthly'
19
+ add '/tos' , :priority => 0.2 , :changefreq => 'monthly'
20
+ add '/jobs' , :priority => 0.7 , :changefreq => 'daily'
21
+ add '/employers' , :priority => 0.7 , :changefreq => 'monthly'
22
+ Protip . find_each do |protip |
23
+ add protip_path ( protip ) , :lastmod => protip . updated_at
24
+ end
25
+ Team . all . each do |team |
26
+ add teamname_path ( slug : team . slug ) , :lastmod => team . updated_at
27
+ team . jobs . each do |job |
28
+ add job_path ( :slug => team . slug , :job_id => job . public_id ) , :lastmod => job . updated_at
29
+ end
30
+ end
31
+ User . find_each do |user |
32
+ add badge_path ( user . username ) , :lastmod => user . updated_at
33
+ end
34
+ BlogPost . all_public . each do |blog_post |
35
+ add blog_post_path ( blog_post . id ) , :lastmod => blog_post . posted
36
+ end
37
+ end
38
+ SitemapGenerator ::Sitemap . ping_search_engines
39
+ end
40
+ end
0 commit comments