solid_objects 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/README.md +160 -43
- data/app/models/solid_objects/claimed_message.rb +2 -0
- data/app/models/solid_objects/message.rb +6 -1
- data/benchmark/adoption_latency.rb +5 -0
- data/benchmark/support.rb +45 -15
- data/benchmark/{ask_latency.rb → sync_latency.rb} +1 -1
- data/db/migrate/20260805000000_create_solid_objects_tables.rb +15 -3
- data/docs/adr/0006-at-least-once-delivery.md +1 -1
- data/docs/adr/0008-actor-communication.md +4 -1
- data/docs/adr/0011-wake-up-strategy.md +13 -4
- data/docs/architecture.md +51 -20
- data/docs/authorization.md +85 -0
- data/docs/benchmarks.md +80 -10
- data/docs/correctness.md +28 -9
- data/docs/database-schema.md +15 -7
- data/docs/development.md +6 -5
- data/docs/fit.md +90 -0
- data/docs/implementation-plan.md +22 -16
- data/docs/migrating-existing-state.md +133 -0
- data/docs/operations.md +56 -4
- data/docs/research/solid_queue.md +2 -1
- data/docs/roadmap.md +9 -3
- data/docs/security.md +7 -2
- data/docs/state-migrations.md +4 -0
- data/lib/generators/solid_objects/templates/solid_objects.rb +17 -0
- data/lib/solid_objects/activation.rb +35 -19
- data/lib/solid_objects/activation_manager.rb +22 -6
- data/lib/solid_objects/actor.rb +16 -3
- data/lib/solid_objects/caller_process.rb +57 -0
- data/lib/solid_objects/client.rb +6 -37
- data/lib/solid_objects/configuration.rb +4 -4
- data/lib/solid_objects/doctor.rb +311 -0
- data/lib/solid_objects/engine.rb +1 -0
- data/lib/solid_objects/errors.rb +17 -1
- data/lib/solid_objects/executor.rb +42 -2
- data/lib/solid_objects/lease.rb +22 -10
- data/lib/solid_objects/message_reference.rb +1 -0
- data/lib/solid_objects/process_registry.rb +5 -1
- data/lib/solid_objects/reference.rb +8 -8
- data/lib/solid_objects/synchronous_invocation.rb +93 -0
- data/lib/solid_objects/version.rb +1 -1
- data/lib/solid_objects.rb +7 -0
- data/lib/tasks/solid_objects_tasks.rake +10 -0
- data/sig/generated/lib/solid_objects/activation.rbs +6 -0
- data/sig/generated/lib/solid_objects/activation_manager.rbs +6 -0
- data/sig/generated/lib/solid_objects/actor.rbs +9 -6
- data/sig/generated/lib/solid_objects/caller_process.rbs +32 -0
- data/sig/generated/lib/solid_objects/client.rbs +2 -8
- data/sig/generated/lib/solid_objects/configuration.rbs +2 -2
- data/sig/generated/lib/solid_objects/doctor.rbs +111 -0
- data/sig/generated/lib/solid_objects/errors.rbs +18 -1
- data/sig/generated/lib/solid_objects/executor.rbs +3 -0
- data/sig/generated/lib/solid_objects/lease.rbs +14 -10
- data/sig/generated/lib/solid_objects/reference.rbs +3 -3
- data/sig/generated/lib/solid_objects/synchronous_invocation.rbs +28 -0
- data/sig/generated/lib/solid_objects.rbs +3 -0
- data/sig/generated/models/solid_objects/message.rbs +3 -0
- metadata +15 -8
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solid_objects
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lucas Carlson
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: actioncable
|
|
@@ -252,7 +251,6 @@ description: 'The Cloudflare Durable Objects programming model for Rails: addres
|
|
|
252
251
|
objects with durable state, ordered mailboxes, fenced activation, per-object alarms,
|
|
253
252
|
transactional effects, and reactive ERB. It runs on MySQL, PostgreSQL, and SQLite
|
|
254
253
|
without requiring Redis.'
|
|
255
|
-
email:
|
|
256
254
|
executables:
|
|
257
255
|
- solid_objects
|
|
258
256
|
extensions: []
|
|
@@ -280,7 +278,7 @@ files:
|
|
|
280
278
|
- app/views/solid_objects/instances/index.html.erb
|
|
281
279
|
- app/views/solid_objects/instances/show.html.erb
|
|
282
280
|
- benchmark/activation_cache.rb
|
|
283
|
-
- benchmark/
|
|
281
|
+
- benchmark/adoption_latency.rb
|
|
284
282
|
- benchmark/claim.rb
|
|
285
283
|
- benchmark/cold_actors.rb
|
|
286
284
|
- benchmark/concurrent_actors.rb
|
|
@@ -289,6 +287,7 @@ files:
|
|
|
289
287
|
- benchmark/processing.rb
|
|
290
288
|
- benchmark/query_count.rb
|
|
291
289
|
- benchmark/support.rb
|
|
290
|
+
- benchmark/sync_latency.rb
|
|
292
291
|
- config/routes.rb
|
|
293
292
|
- db/migrate/20260805000000_create_solid_objects_tables.rb
|
|
294
293
|
- docs/adr/0001-postgresql-backend.md
|
|
@@ -305,11 +304,14 @@ files:
|
|
|
305
304
|
- docs/adr/0012-not-active-jobs.md
|
|
306
305
|
- docs/adr/0013-database-adapters.md
|
|
307
306
|
- docs/architecture.md
|
|
307
|
+
- docs/authorization.md
|
|
308
308
|
- docs/benchmarks.md
|
|
309
309
|
- docs/correctness.md
|
|
310
310
|
- docs/database-schema.md
|
|
311
311
|
- docs/development.md
|
|
312
|
+
- docs/fit.md
|
|
312
313
|
- docs/implementation-plan.md
|
|
314
|
+
- docs/migrating-existing-state.md
|
|
313
315
|
- docs/operations.md
|
|
314
316
|
- docs/realtime.md
|
|
315
317
|
- docs/research/solid_queue.md
|
|
@@ -341,6 +343,7 @@ files:
|
|
|
341
343
|
- lib/solid_objects/actor_snapshot.rb
|
|
342
344
|
- lib/solid_objects/actor_view.rb
|
|
343
345
|
- lib/solid_objects/broadcast_executor.rb
|
|
346
|
+
- lib/solid_objects/caller_process.rb
|
|
344
347
|
- lib/solid_objects/cli.rb
|
|
345
348
|
- lib/solid_objects/client.rb
|
|
346
349
|
- lib/solid_objects/configuration.rb
|
|
@@ -350,6 +353,7 @@ files:
|
|
|
350
353
|
- lib/solid_objects/database_adapters/postgresql.rb
|
|
351
354
|
- lib/solid_objects/database_adapters/sqlite.rb
|
|
352
355
|
- lib/solid_objects/dead_letter_manager.rb
|
|
356
|
+
- lib/solid_objects/doctor.rb
|
|
353
357
|
- lib/solid_objects/dom_identity.rb
|
|
354
358
|
- lib/solid_objects/effect_executor.rb
|
|
355
359
|
- lib/solid_objects/effect_registry.rb
|
|
@@ -370,10 +374,12 @@ files:
|
|
|
370
374
|
- lib/solid_objects/stream_name.rb
|
|
371
375
|
- lib/solid_objects/stream_token.rb
|
|
372
376
|
- lib/solid_objects/supervisor.rb
|
|
377
|
+
- lib/solid_objects/synchronous_invocation.rb
|
|
373
378
|
- lib/solid_objects/turbo_stream_renderer.rb
|
|
374
379
|
- lib/solid_objects/version.rb
|
|
375
380
|
- lib/solid_objects/wake_up.rb
|
|
376
381
|
- lib/solid_objects/worker.rb
|
|
382
|
+
- lib/tasks/solid_objects_tasks.rake
|
|
377
383
|
- sig/generated/controllers/solid_objects/application_controller.rbs
|
|
378
384
|
- sig/generated/controllers/solid_objects/dead_letters_controller.rbs
|
|
379
385
|
- sig/generated/controllers/solid_objects/instances_controller.rbs
|
|
@@ -390,6 +396,7 @@ files:
|
|
|
390
396
|
- sig/generated/lib/solid_objects/actor_snapshot.rbs
|
|
391
397
|
- sig/generated/lib/solid_objects/actor_view.rbs
|
|
392
398
|
- sig/generated/lib/solid_objects/broadcast_executor.rbs
|
|
399
|
+
- sig/generated/lib/solid_objects/caller_process.rbs
|
|
393
400
|
- sig/generated/lib/solid_objects/cli.rbs
|
|
394
401
|
- sig/generated/lib/solid_objects/client.rbs
|
|
395
402
|
- sig/generated/lib/solid_objects/configuration.rbs
|
|
@@ -399,6 +406,7 @@ files:
|
|
|
399
406
|
- sig/generated/lib/solid_objects/database_adapters/postgresql.rbs
|
|
400
407
|
- sig/generated/lib/solid_objects/database_adapters/sqlite.rbs
|
|
401
408
|
- sig/generated/lib/solid_objects/dead_letter_manager.rbs
|
|
409
|
+
- sig/generated/lib/solid_objects/doctor.rbs
|
|
402
410
|
- sig/generated/lib/solid_objects/dom_identity.rbs
|
|
403
411
|
- sig/generated/lib/solid_objects/effect_executor.rbs
|
|
404
412
|
- sig/generated/lib/solid_objects/effect_registry.rbs
|
|
@@ -419,6 +427,7 @@ files:
|
|
|
419
427
|
- sig/generated/lib/solid_objects/stream_name.rbs
|
|
420
428
|
- sig/generated/lib/solid_objects/stream_token.rbs
|
|
421
429
|
- sig/generated/lib/solid_objects/supervisor.rbs
|
|
430
|
+
- sig/generated/lib/solid_objects/synchronous_invocation.rbs
|
|
422
431
|
- sig/generated/lib/solid_objects/turbo_stream_renderer.rbs
|
|
423
432
|
- sig/generated/lib/solid_objects/version.rbs
|
|
424
433
|
- sig/generated/lib/solid_objects/wake_up.rbs
|
|
@@ -445,7 +454,6 @@ metadata:
|
|
|
445
454
|
homepage_uri: https://solidobjects.dev
|
|
446
455
|
rubygems_mfa_required: 'true'
|
|
447
456
|
source_code_uri: https://github.com/cardmagic/solid_objects
|
|
448
|
-
post_install_message:
|
|
449
457
|
rdoc_options: []
|
|
450
458
|
require_paths:
|
|
451
459
|
- lib
|
|
@@ -460,8 +468,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
460
468
|
- !ruby/object:Gem::Version
|
|
461
469
|
version: '0'
|
|
462
470
|
requirements: []
|
|
463
|
-
rubygems_version:
|
|
464
|
-
signing_key:
|
|
471
|
+
rubygems_version: 4.0.10
|
|
465
472
|
specification_version: 4
|
|
466
473
|
summary: Cloudflare Durable Objects, ported to Rails
|
|
467
474
|
test_files: []
|