169 похожих чатов

Вечер добрый народ, подскажите Я создаю очередь из Workers ,

при помощи WorkManager , и они выполняются так как мен нужно по очереди и в случае если хотя бы 1 вернёт Result.failure(); то цепочка прерывается, меня это устраивает. Но можно ли как то запускать независимо как отработали вся очередь , типа finalize , воркера который подчистить временные файлы и всё такое сделает ?

14 ответов

14 просмотров

напомни плиз, ты в итоге открыл активити из фона? на дроид 8+

Andrei- Автор вопроса

Да

красава че

Andrei- Автор вопроса

В своём вопросе что задавал на стековерфлоу, дал же и ответ

кинь линк плиз. интересно че там в итоге

Andrei- Автор вопроса

там всё банально оказалось https://ru.stackoverflow.com/questions/1248103/broadcastreceiver-%d0%be%d1%82%d0%be%d0%b1%d1%80%d0%b0%d0%b6%d0%b5%d0%bd%d0%b8%d0%b5-%d0%be%d0%bf%d0%be%d0%b2%d0%b5%d1%89%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b2-%d0%b2%d0%b8%d0%b4%d0%b5-%d0%bf%d0%be%d0%bb%d0%bd%d0%be%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%bd%d0%be%d0%b3%d0%be-activity-%d0%b8%d0%bb%d0%b8-%d0%b0%d0%bd%d0%b0%d0%bb/1248394#1248394

ну в принципе из нового я только про флаг уведомления узнал. а в остальном как я и говорил. ну ок

В доках явно написано, что если один из воркеров возвращает Result.failure, то остальные автоматически отменяются : If that retry policy is undefined or exhausted, or you otherwise reach some state in which a OneTimeWorkRequest returns Result.failure(), then that work request and all dependent work requests are marked as FAILED. То есть видимо если надо продолжить цепочку воркеров, то нужно при ошибке одного из них возвращать Result. success и передавать какой то флаг с сигналом о том, что что-то пошло не так в доп дате : Result.success(outputData).

Andrei- Автор вопроса

Ну как то так себе решение, этот флаг придется гнать до конца очереди , и ни когда не возвращать failure. Костыли короче

ну идея цепочки именно в том, что эта цепочка зависимых задач - то есть один упал то в вызове остальных как бы нет смысла.

Andrei- Автор вопроса

Это то меня вполне устраивает, но подчистить гавно хочу независимо от того как завершилась цепочка

Andrei- Автор вопроса

beginUniqueWork сделали , . then сделали , почему нельзя было сделать .finalise(Worker worker) , не понимаю , как будто то try cach finalise ни видели в Google , проёб в архитектуре я бы так сказал

создай ишью им)

Andrei- Автор вопроса

лень пока :) но я создам

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта