Add appropriate timeouts for Repo.transactions
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -29,35 +29,38 @@ defmodule Mobilizon.Service.SiteMap do
|
||||
gzip: false
|
||||
]
|
||||
|
||||
Repo.transaction(fn ->
|
||||
Events.stream_events_for_sitemap()
|
||||
|> Stream.concat(Actors.list_groups_for_stream())
|
||||
|> Stream.concat(Posts.list_posts_for_stream())
|
||||
|> Stream.concat(
|
||||
Enum.map(static_routes, fn route ->
|
||||
{url, frequency} =
|
||||
case route do
|
||||
{url, frequency} -> {url, frequency}
|
||||
url when is_binary(url) -> {url, @default_static_frequency}
|
||||
end
|
||||
Repo.transaction(
|
||||
fn ->
|
||||
Events.stream_events_for_sitemap()
|
||||
|> Stream.concat(Actors.list_groups_for_stream())
|
||||
|> Stream.concat(Posts.list_posts_for_stream())
|
||||
|> Stream.concat(
|
||||
Enum.map(static_routes, fn route ->
|
||||
{url, frequency} =
|
||||
case route do
|
||||
{url, frequency} -> {url, frequency}
|
||||
url when is_binary(url) -> {url, @default_static_frequency}
|
||||
end
|
||||
|
||||
%{url: url, updated_at: nil, frequence: frequency}
|
||||
%{url: url, updated_at: nil, frequence: frequency}
|
||||
end)
|
||||
)
|
||||
|> Stream.map(fn %{url: url, updated_at: updated_at} = args ->
|
||||
frequence = Map.get(args, :frequence, :weekly)
|
||||
|
||||
%Sitemapper.URL{
|
||||
loc: url,
|
||||
changefreq: frequence,
|
||||
lastmod: check_date_time(updated_at)
|
||||
}
|
||||
end)
|
||||
)
|
||||
|> Stream.map(fn %{url: url, updated_at: updated_at} = args ->
|
||||
frequence = Map.get(args, :frequence, :weekly)
|
||||
|
||||
%Sitemapper.URL{
|
||||
loc: url,
|
||||
changefreq: frequence,
|
||||
lastmod: check_date_time(updated_at)
|
||||
}
|
||||
end)
|
||||
|> Sitemapper.generate(config)
|
||||
|> Sitemapper.persist(config)
|
||||
|> Sitemapper.ping(config)
|
||||
|> Stream.run()
|
||||
end)
|
||||
|> Sitemapper.generate(config)
|
||||
|> Sitemapper.persist(config)
|
||||
|> Sitemapper.ping(config)
|
||||
|> Stream.run()
|
||||
end,
|
||||
timeout: :infinity
|
||||
)
|
||||
end
|
||||
|
||||
# Sometimes we use naive datetimes
|
||||
|
||||
Reference in New Issue
Block a user