Re: [akka-user] combining Akka Persistence with Akka Scheduling
Hi Greg I have a prototype implementation of an Akka extension that uses persistence to save scheduler state: https://github.com/odd/akka/tree/wip-persistence-odd/akka-contrib/src/main/scala/akka/contrib/persistence/scheduling. It is by no means finished and still very much a work-in-progress but please have a look anyway, perhaps you'll find something of value. Greetings Odd On Thu, Jul 31, 2014 at 10:03 AM, Martynas Mickevičius martynas.mickevic...@typesafe.com wrote: Hi Greg, just dropping this in case you have not seen that it is possible to use quartz https://github.com/akka/akka/blob/9dae0ad525a92ebf8b0f5f42878a10628ac24aae/akka-samples/akka-sample-camel-scala/src/main/scala/sample/camel/QuartzExample.scala through akka-camel. On Fri, Jul 25, 2014 at 5:46 PM, Greg Flanagan ventis...@gmail.com wrote: Endre, Seems reasonable to keep the scheduler light weight and performant. My plans were to build something around it. Thanks. Greg On Friday, July 25, 2014 7:40:39 AM UTC-7, Akka Team wrote: Hi Greg, On Fri, Jul 25, 2014 at 4:20 PM, Greg Flanagan vent...@gmail.com wrote: Hey Konrad, I wasn't planning on making it as powerful as quartz but simply making what's available in the scheduler persistent, so that work that is deferred (i.e. scheduled) will not be lost on jvm shutdown. my use case doesn't require Quartz (i.e. run at 4:50 am on Tuesday), but I do need the deferred jobs to persisted through jvm restarts. The Akka scheduler has been designed for high-volume low-resolution timing tasks, typically timeouts -- all with the requirement of high performance. While you can combine persistence and the Akka scheduler to achieve what you want, we will keep the scheduler simple -- since this is a highly performance sensitive module we do not want to add features there. You can definitely build something around it though. -Endre cheers, Greg On Friday, July 25, 2014 1:18:47 AM UTC-7, Konrad Malawski wrote: Hello Greg, short question - do you aim to provide something as powerful as quartz using this? I mean on monday at 13:02 etc. Because that's not really what our scheduler is designed to do - we only work with in X amount of time. Instead maybe you'd simply like to integrate quartz with akka, as this extension does: https://github.com/typesafehub/akka-quartz-scheduler And let it do it's job :-) On Fri, Jul 25, 2014 at 1:05 AM, Greg Flanagan vent...@gmail.com wrote: I'm interested in combining Akka persistence which Akka Scheduling and wanted to know if there was an interest out there for something like this? I basically need a scheduler that doesn't loose state after a vm crash. I've used Quartz before and it's too much framework for what I want. Any requests of features people would like to see in this type of module? Has it already been done and I just haven't searched google enough? Cheers, Greg -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/c urrent/additional/faq.html Search the archives: https://groups.google.com/grou p/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, Konrad 'ktoso' Malawski hAkker @ Typesafe http://typesafe.com -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/ current/additional/faq.html Search the archives: https://groups.google.com/ group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Akka Team Typesafe - The software stack for applications that scale Blog: letitcrash.com Twitter: @akkateam -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Martynas Mickevičius Typesafe http://typesafe.com/ –
[akka-user] A few simple questions about versions of Akka, Akka Persistence and Cassandra journal driver
I want to get started with Akka persistence. Do I need to upgrade to akka 2.4 to be able to use the latest Akka persistence com.typesafe.akka %% akka-persistence-experimental % 2.4-SNAPSHOT OR will it work with akka 2.3.x as well ? Also, I want to use a Cassandra journal using https://github.com/krasserm/akka-persistence-cassandra The build.sbt https://github.com/krasserm/akka-persistence-cassandra/blob/master/build.sbt uses akk-persistence-experimental 2.3.4 com.typesafe.akka %% akka-persistence-experimental % 2.3.4, Does this mean that the Cassandra driver won't work with the latest version of akka-persistence ? Thanks -Soumya -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] akka providing a java.util.concurrent.Executor
Hi From an actor I've got to call some java code that requires me to pass in a Executor (java.util.concurrent.Executor) Is it as simple as passing in the context.dispatcher? -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Using Akka to access multiple databases
FYI... looks like I accidentally replied to Soumya privately the last time, so I'm pasting the conversation back here for general reference... On Sat, Aug 2, 2014 at 3:40 PM, lakshmi wrote: Soumya, Thanks for your prompt response! I was trying to reply to your post, but I guess I used the private reply by mistake :) Should I pull this back into the main conversation? Your wish. I think you can be more eyes and better advice as well. We want to subscribe to changes in 2 databases, so yes we will use channels. We also plan to persist updates to hashes in one of the dbs. We already have an internal Jedis common lib which we might try reusing for this. If blocking becomes an issue and rediscala integrates well with Java, we will give it a shot. Have you ever extends an Scala actor in Java ? If yes then you should be able to use redisscala. I think yesterday someone release another Scala library for Redis. You may also want to evaluate that. In terms of the actors, does the design seem okay to you? If you see our diagrams attached to the ticket (btw our design has since been updated to use only 2 dbs - Topic and Status), we want to separate the concerns of listening to the redis db changes versus persisting changes from other actors. To make it transparent to external actors, we put a SyncActor in front of the Listener and Persister. For example, in our use case the Topic db is a listen-only db. And the Status db is a persist and listen db. We plan to have interested actors listen to messages published by the SyncActors to take action on them as necessary. I've not seen all the details of your design. My rule of thumb (and remember I'm not an Akka expert) is to put as little logic in one actor as possible. Just distribute the logic across as many actors as you can. Would you happen to have any thoughts on this? Thanks! lakshmi On Sat, Aug 2, 2014 at 10:50 AM, Soumya Simanta wrote: Ive never tried using Scala drivers from Java because all my code is in Scala. However, I do believe that it should be possible with some extra effort. Do you plan to use redis channels or only the access other structures (SET, HASH, ZSET etc) in Redis. I think the only tricky part of using it in Java would be the channel which in theory should be doable as well. Good and please let me know if you have more questions. -Soumya On Sat, Aug 2, 2014 at 1:42 PM, lakshmi wrote: Soumya, Thanks for the info on Rediscala. The automatic connectivity feature seems very useful! We would love to be able to use a non-blocking driver, but want it to be compatible with Java as we don't see a move to Scala in the immediate future. Will Rediscala be compatible with Java applications? Also do you know anything about Redisson which is for distributed systems? Appreciate your input. Thanks, lakshmi -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Using Akka to access multiple databases
Soumya, thanks again. It will be our first time integrating a Scala module in Java. We hope to figure it out if it becomes necessary. I am not able to find this new redis scala package... do you happen to have a link for this release? We are trying to follow the single responsibility principle with the actors, so we agree with the as little logic in one actor thought as well. Thanks, lakshmi On Sunday, August 3, 2014 8:51:44 AM UTC-7, lakshmi wrote: FYI... looks like I accidentally replied to Soumya privately the last time, so I'm pasting the conversation back here for general reference... On Sat, Aug 2, 2014 at 3:40 PM, lakshmi wrote: Soumya, Thanks for your prompt response! I was trying to reply to your post, but I guess I used the private reply by mistake :) Should I pull this back into the main conversation? Your wish. I think you can be more eyes and better advice as well. We want to subscribe to changes in 2 databases, so yes we will use channels. We also plan to persist updates to hashes in one of the dbs. We already have an internal Jedis common lib which we might try reusing for this. If blocking becomes an issue and rediscala integrates well with Java, we will give it a shot. Have you ever extends an Scala actor in Java ? If yes then you should be able to use redisscala. I think yesterday someone release another Scala library for Redis. You may also want to evaluate that. In terms of the actors, does the design seem okay to you? If you see our diagrams attached to the ticket (btw our design has since been updated to use only 2 dbs - Topic and Status), we want to separate the concerns of listening to the redis db changes versus persisting changes from other actors. To make it transparent to external actors, we put a SyncActor in front of the Listener and Persister. For example, in our use case the Topic db is a listen-only db. And the Status db is a persist and listen db. We plan to have interested actors listen to messages published by the SyncActors to take action on them as necessary. I've not seen all the details of your design. My rule of thumb (and remember I'm not an Akka expert) is to put as little logic in one actor as possible. Just distribute the logic across as many actors as you can. Would you happen to have any thoughts on this? Thanks! lakshmi On Sat, Aug 2, 2014 at 10:50 AM, Soumya Simanta wrote: Ive never tried using Scala drivers from Java because all my code is in Scala. However, I do believe that it should be possible with some extra effort. Do you plan to use redis channels or only the access other structures (SET, HASH, ZSET etc) in Redis. I think the only tricky part of using it in Java would be the channel which in theory should be doable as well. Good and please let me know if you have more questions. -Soumya On Sat, Aug 2, 2014 at 1:42 PM, lakshmi wrote: Soumya, Thanks for the info on Rediscala. The automatic connectivity feature seems very useful! We would love to be able to use a non-blocking driver, but want it to be compatible with Java as we don't see a move to Scala in the immediate future. Will Rediscala be compatible with Java applications? Also do you know anything about Redisson which is for distributed systems? Appreciate your input. Thanks, lakshmi -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] A few simple questions about versions of Akka, Akka Persistence and Cassandra journal driver
Hello Soumya, If you’re just getting started, stick to the released versions - such as 2.3.4 :-) Also, persistence is developed and updated as part of the 2.3 release cycle, new features will be available within 2.3 - no need to rush to 2.4 just yet :-) While we do publish (timestamped) snapshots to repo.akka.io I don’t see why you would need to use it unless specifically testing against some fix introduced in HEAD. The cassandra plugin (and anyone who implemented the 2.3.4 API) is binary compatible with 2.3.4 and source compatible with 2.3.x. This is only because persistence is an experimental module, and under active development (and adjustments based on community feedback), normally we do guarantee 2.3.x modules to be binary compatible within 2.3, but not with 2.4. On Sun, Aug 3, 2014 at 2:18 PM, Soumya Simanta soumya.sima...@gmail.com wrote: I want to get started with Akka persistence. Do I need to upgrade to akka 2.4 to be able to use the latest Akka persistence com.typesafe.akka %% akka-persistence-experimental % 2.4-SNAPSHOT OR will it work with akka 2.3.x as well ? Also, I want to use a Cassandra journal using https://github.com/krasserm/akka-persistence-cassandra The build.sbt https://github.com/krasserm/akka-persistence-cassandra/blob/master/build.sbt uses akk-persistence-experimental 2.3.4 com.typesafe.akka %% akka-persistence-experimental % 2.3.4, Does this mean that the Cassandra driver won't work with the latest version of akka-persistence ? Thanks -Soumya -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, Konrad 'ktoso' Malawski hAkker @ Typesafe http://typesafe.com -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] Re: Using Akka to access multiple databases
It will be our first time integrating a Scala module in Java. We hope to figure it out if it becomes necessary. I would be interested to know the results as well. I'm sure that many others here can tell how easy/difficult this is. I am not able to find this new redis scala package... do you happen to have a link for this release? https://github.com/Livestream/scredis NOTE: there are many other Redis drivers on github. I've experience with rediscala only. The benchmarks and features of scredis look promising. I would investigate/prototype a few before selecting one if you don't have the flexibility to change your mind later. -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] A few simple questions about versions of Akka, Akka Persistence and Cassandra journal driver
Thanks Konard. I'll stick with 2.3.4 for now and upgrade once I have more experience and need in the future. On Sunday, August 3, 2014 12:06:34 PM UTC-4, Konrad Malawski wrote: Hello Soumya, If you’re just getting started, stick to the released versions - such as 2.3.4 :-) Also, persistence is developed and updated as part of the 2.3 release cycle, new features will be available within 2.3 - no need to rush to 2.4 just yet :-) While we do publish (timestamped) snapshots to repo.akka.io I don’t see why you would need to use it unless specifically testing against some fix introduced in HEAD. The cassandra plugin (and anyone who implemented the 2.3.4 API) is binary compatible with 2.3.4 and source compatible with 2.3.x. This is only because persistence is an experimental module, and under active development (and adjustments based on community feedback), normally we do guarantee 2.3.x modules to be binary compatible within 2.3, but not with 2.4. On Sun, Aug 3, 2014 at 2:18 PM, Soumya Simanta soumya@gmail.com javascript: wrote: I want to get started with Akka persistence. Do I need to upgrade to akka 2.4 to be able to use the latest Akka persistence com.typesafe.akka %% akka-persistence-experimental % 2.4-SNAPSHOT OR will it work with akka 2.3.x as well ? Also, I want to use a Cassandra journal using https://github.com/krasserm/akka-persistence-cassandra The build.sbt https://github.com/krasserm/akka-persistence-cassandra/blob/master/build.sbt uses akk-persistence-experimental 2.3.4 com.typesafe.akka %% akka-persistence-experimental % 2.3.4, Does this mean that the Cassandra driver won't work with the latest version of akka-persistence ? Thanks -Soumya -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com javascript:. To post to this group, send email to akka...@googlegroups.com javascript:. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, Konrad 'ktoso' Malawski hAkker @ Typesafe http://typesafe.com -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
Re: [akka-user] A few simple questions about versions of Akka, Akka Persistence and Cassandra journal driver
Yup, exactly :-) Happy hakking! On 3 August 2014 at 20:34:29, Soumya Simanta (soumya.sima...@gmail.com) wrote: Thanks Konard. I'll stick with 2.3.4 for now and upgrade once I have more experience and need in the future. On Sunday, August 3, 2014 12:06:34 PM UTC-4, Konrad Malawski wrote: Hello Soumya, If you’re just getting started, stick to the released versions - such as 2.3.4 :-) Also, persistence is developed and updated as part of the 2.3 release cycle, new features will be available within 2.3 - no need to rush to 2.4 just yet :-) While we do publish (timestamped) snapshots to repo.akka.io I don’t see why you would need to use it unless specifically testing against some fix introduced in HEAD. The cassandra plugin (and anyone who implemented the 2.3.4 API) is binary compatible with 2.3.4 and source compatible with 2.3.x. This is only because persistence is an experimental module, and under active development (and adjustments based on community feedback), normally we do guarantee 2.3.x modules to be binary compatible within 2.3, but not with 2.4. On Sun, Aug 3, 2014 at 2:18 PM, Soumya Simanta soumya@gmail.com wrote: I want to get started with Akka persistence. Do I need to upgrade to akka 2.4 to be able to use the latest Akka persistence com.typesafe.akka %% akka-persistence-experimental % 2.4-SNAPSHOT OR will it work with akka 2.3.x as well ? Also, I want to use a Cassandra journal using https://github.com/krasserm/akka-persistence-cassandra The build.sbt uses akk-persistence-experimental 2.3.4 com.typesafe.akka %% akka-persistence-experimental % 2.3.4, Does this mean that the Cassandra driver won't work with the latest version of akka-persistence ? Thanks -Soumya -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com. To post to this group, send email to akka...@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Cheers, Konrad 'ktoso' Malawski hAkker @ Typesafe -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout. -- Konrad 'ktoso' Malawski hAkker @ typesafe http://akka.io -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
[akka-user] What would it take to make actors in another language/platform
I am fairly new to the akka world, but I have erlang experience so the concept isnt super foreign to me. However I was curious if there was any documentation lying around that would help me implement actors on a separate platorm, specifically I was considering implementing an actor framework for arduino, with the intention of individual arduinos being a single actor, not for the purpose of parallelization because they are waaay to slow to be useful but with the intention of using akka to manage a network of arduinos from a computer each with its own specific task. At any rate, I would need to understand a few things, first off, what does the akka network stack look like, what is the protocol/api. Can an actor who was created by itself register with a central actor or router etc? I am hoping to tie a couple of new mediums of communication in so that the individual arduinos would be able to communicate amongst themselves as well as to a scala/akka based central control. Also, I am definately willing to hear reasons this is a terrible idea so dont hessitate to let me know if I am missing something really imortant. Thanks! -- Read the docs: http://akka.io/docs/ Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups Akka User List group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.