Places: Create and update only one place at a time #1664
This commit is contained in:
parent
d432584041
commit
de72abcfa4
|
@ -71,6 +71,9 @@ func (m *Cell) Refresh(api string) (err error) {
|
|||
ID: s2.NormalizeToken(m.ID),
|
||||
}
|
||||
|
||||
cellMutex.Lock()
|
||||
defer cellMutex.Unlock()
|
||||
|
||||
// Query geodata API.
|
||||
if err = l.QueryApi(api); err != nil {
|
||||
return err
|
||||
|
@ -84,9 +87,6 @@ func (m *Cell) Refresh(api string) (err error) {
|
|||
|
||||
oldPlaceID := m.PlaceID
|
||||
|
||||
cellMutex.Lock()
|
||||
defer cellMutex.Unlock()
|
||||
|
||||
place := Place{
|
||||
ID: l.PlaceID(),
|
||||
PlaceLabel: l.Label(),
|
||||
|
@ -144,9 +144,12 @@ func (m *Cell) Find(api string) error {
|
|||
}
|
||||
|
||||
l := &maps.Location{
|
||||
ID: m.ID,
|
||||
ID: s2.NormalizeToken(m.ID),
|
||||
}
|
||||
|
||||
cellMutex.Lock()
|
||||
defer cellMutex.Unlock()
|
||||
|
||||
if err := l.QueryApi(api); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -187,9 +190,6 @@ func (m *Cell) Find(api string) error {
|
|||
m.CellPostcode = l.Postcode()
|
||||
m.CellCategory = l.Category()
|
||||
|
||||
cellMutex.Lock()
|
||||
defer cellMutex.Unlock()
|
||||
|
||||
if createErr := db.Create(m).Error; createErr == nil {
|
||||
log.Debugf("place: added cell %s [%s]", m.ID, time.Since(start))
|
||||
return nil
|
||||
|
|
Loading…
Reference in a new issue