#go#cli#event_driven#event_driven_architecture#queues#serverless#serverless_functions#workflow_engine#workflows
Inngest lets you write reliable, long-running background functions called durable workflows that automatically handle retries, scheduling, and state management without needing to manage infrastructure like queues or servers. You write functions in your preferred language using their SDKs, run and test them locally with the Inngest Dev Server, then deploy them on your own infrastructure or Inngest’s platform. It supports complex workflows with steps that retry on failure, concurrency control, and event triggers. This saves you time and effort by simplifying event-driven app development, improving reliability, and scaling automatically without extra setup. It also offers tools for monitoring and managing workflows easily.
https://github.com/inngest/inngest
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js