 	}
 
 	func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
+		guard !statusProcessRunning else {
+			completion(.success(()))
+			return
+		}
+		
+		statusProcessRunning = true
 		os_log(.debug, log: log, "Sending article statuses...")
 
 		database.selectForProcessing { result in
 
 			func processStatuses(_ syncStatuses: [SyncStatus]) {
 				guard syncStatuses.count > 0 else {
+					self.statusProcessRunning = false
 					completion(.success(()))
 					return
 				}

			case .success(let syncStatuses):
				processStatuses(syncStatuses)
			case .failure(let databaseError):
				completion(.failure(databaseError))
			}
		}

					case .success(let articles):
						processWithArticles(articles)
					case .failure(let databaseError):
						self.statusProcessRunning = false
						completion(.failure(databaseError))
					}

