właśnie zaktualizowany do najnowszej wersji (3.1.0) mongoid i sidekiq (2.7.2)
teraz dostaję błąd: failed with error 10068: "invalid operator: $oid"
od patrzenia do kodu widzę coś takiego: @selector={"_id"=>{"$oid"=>"[some id]"}}
co może się tu nie udać?
Odpowiedz
dodając to do mojego gemfile
naprawił problem:
gem 'multi_json', '1.5.1'
Chyba coś jest nie tak z najnowszej wersji (1.6.0)
EDIT: klejnot został zaktualizowany do nowej wersji (1.6.1), który rozwiązał ten problem. więcej tutaj: https://github.com/intridea/multi_json/issues/89
To się rzeczywiście dzieje, ponieważ BSON :: ObjectId nie jest częścią JSON ... więc kiedy Sidekiq próbuje serializacji args do pracownika, to pukes. Sprawdź ten komentarz: https://github.com/mperham/sidekiq/issues/951#issuecomment-19497803
Rozwiązaniem jest po prostu do konwersji identyfikatorów ciągów podczas wykonywania zadania jak:
EmailSubscribe.perform_async(user.id.to_s)
Świetne proste rozwiązanie, dzięki! – zishe
- 1. Uruchamianie "startu npm" nie powiodło się z powodu błędu - Angular2
- 2. tworzenie LoadLibrary nie powiodło się z powodu błędu 1114
- 3. Wdrożenie Heroku nie powiodło się z powodu błędu gem sqlite3
- 4. startowy powietrza powiodło się z powodu gunicorn
- 5. .mdf”nie powiodło się z powodu błędu systemu operacyjnego 2 (system nie może odnaleźć określonego pliku.)
- 6. Android „konwersja do formatu Dalvik nie powiodło się z powodu błędu 1” i PROGUARD
- 7. Korzystanie YTPlayerView grać klipu wideo YouTube na iOS nie powiodło się z powodu błędu restrykcyjnym
- 8. Mongodb kod błędu 10068 lub 17287 z szynami 4.1 i wymyślić
- 9. Zadanie Iskara nie powiodło się z powodu java.io.NotSerializableException: org.apache.spark.SparkContext
- 10. Uruchomienie oprzyrządowania nie powiodło się z powodu "java.lang.IllegalAccessError"
- 11. Ant: Zadanie ftp nie powiodło się z powodu NoClassDefFoundError
- 12. Uzyskiwanie wyjątek Javassist Enhancement nie powiodło się: z powodu JavassistLazyInitializer.getProxy
- 13. SQL Server - INSERT nie powiodło się z powodu "ARITHABORT"
- 14. Archiwum przesyłania Xcode 8 nie powiodło się z powodu zasobu
- 15. Testowanie Androida: Uruchomienie oprzyrządowania nie powiodło się z powodu "java.lang.ClassNotFoundException"
- 16. Railsy Mongoid nie mogą się uwierzytelnić - nie powiodło się z powodu błędu 13: "nie zatwierdzono dla zapytania w my_db.my_collection"
- 17. Docker eksploatowany nie powiodło się z odpowiedzią błędu z demonem
- 18. Test Gradle nie powiedzie się z powodu błędu
- 19. DevTools :: install_github nie powiedzie się z powodu błędu cert CA
- 20. `pakiet install` powiodło się z powodu zgody odmówiono
- 21. ostrzeżenie: GDB: Nie powiodło się ustawienie terminala sterującego: Nieprawidłowy argument
- 22. Budowanie Xcode 7 nie powiodło się z powodu ld: nie znaleziono biblioteki dla -lGoogleAnalyticsServices
- 23. Android Espresso UI - Test uruchomiony powiodło się: bieg Instrumentation powiodło się z powodu „java.lang.IllegalAccessError”
- 24. Ograniczenie nie powiodło się z powodu próby wykonania zadania nie powiodło się zgłoszenie statusu przez 600 sekund. Zabicie! Rozwiązanie?
- 25. Joomla - Ostrzeżenie! Nie powiodło się przeniesienie błędu pliku
- 26. SQLGetPrivateProfileString nie powiodło się z
- 27. MongoDB - nie można uzyskać danych wyeksportowanych z mongoexport z powodu auth nie powiodło się
- 28. Nawiązywanie połączenia z bazą danych SQL Azure nie powiodło się z powodu braku szyfrowania SSL
- 29. Oracle kwerenda wybierająca się z powodu błędu wewnętrznego kwerendę wybierającą
- 30. Uwierzytelnienie nie powiodło się dla użytkownika: null
ta nie działa dla mnie (zobacz moją odpowiedź dla pełniejszego opisu problemu) . – Ben
To już nie jest dokładne, ponieważ Sidekiq upuścił użycie MultiJson na '# perform_async'. Sidekiq używa teraz podstawowego modułu JSON. Zobacz [ten komentarz autora Sidekiq'a] (https://github.com/mperham/sidekiq/issues/951#issuecomment-19497803) –
Może być również konieczne ustawienie cookie_serializer z: wartością hybrydową zamiast: json. Więcej szczegółów: https://github.com/rails/rails/issues/15111#issuecomment-43134650 – Francisco